홈 PLAY 온라인 지원터수학교육수학영상 자료실 중고등학교
  • 인쇄하기
  • 스크랩

중고등학교

<고등수학, 생각넓힘> 빅데이터 분석3-데이터 분석 게시글 상세정보
<고등수학, 생각넓힘> 빅데이터 분석3-데이터 분석
작성자 융합인재부 이메일
조회 688 등록일 2021/11/17
첨부 빅데이터 분석3-데이터 분석 대본.hwp 빅데이터 분석3-데이터 분석 대본.hwp


<고등수학, 생각넓힘> 빅데이터 분석3-데이터 분석
 
저번시간에는 데이터 전처리과정에 대해 배워보았습니다. 이번시간에는 타이타닉 데이터를 이용한 데이터 분석에 대해 알아보겠습니다.

1. 이번시간부터는 본격적으로 데이터 분석을 하도록 하겠습니다. 데이터 분석하는데 문법을 하나하나 설명하기보다는 전체적으로 어떻게 분석하는지 알아보겠습니다. 혹시 강의를 보다가 모르는 부분이 나오면 구글에 검색해서 스스로 찾아보는 것도 많은 도움이 됩니다. 첫 번째로 얼마나 생존을 했는지 pie 그래프와 count 그래프를 이용하여 알아보겠습니다. 미리 작성한 것을 가져와서 입력을 하겠습니다. 두 개의 그래프를 그리기 위해 subplot를 만듭니다. 1열 2열로 위치하고 그래프 크기는 18,8로 합니다. 생존 데이터를 가져와 pie그래프로 나타내는데 중심에서 벗어나는 정도를 파란색 부분은 0, 빨간색 부분은 10% 벗어나도록 하고, 퍼센트는 소숫점 첫 번째 자리까지 표현, 위치는 1열에 위치하고 그림자는 있게 합니다. 파이 그래프의 이름은 pie plot-생존이라 합니다. count 그래프도 마찬가지로 생존을 데이터를 갖오고 두 번째 열에 위치합니다. count 그래프의 이름은 count plot-생존이라 합니다.

마지막으로 plt.show()를 입력하면 다음과 같이 그래프가 나옵니다. 죽은 사람은 390명대로 58.3%이며 생존한 사람은 280명대로 41.7%입니다.

2. 티켓클래스와 생존의 관계에 대해서 알아보겠습니다. groupby 함수를 이용하여 1,2,3등급의 티켓클래스 별로 사람수를 알아보면 1등급은 182명 2등급은 158명, 3등급은 334명 임을 알 수 있네요.

3. 티켓등급별로 생존한 사람과 죽은 사람이 몇 명있는지 알아보겠습니다. crosstab 함수를 이용하면 되는데요. 티켓클래스와 생존 데이터를 가져오고 각 행, 열의 끝에 합이 나오도록 설명하고 이런 스타일로 배경을 하면 다음과 같습니다. 1등급 클래스를 보면 182명 중 63명은 죽고 119명은 생존 2등급 클래스는 158명중 79명이 죽고 79명이 생존 3등급 클래스는 334명중 251명은 죽고 83명은 생존한 것을 알 수 있습니다.

4. 막대그래프를 이용하여 티켓클래스에 따른 승객수를 나타내면 다음과 같습니다. 3등급 승객수가 가장 많고 1등급 , 2등급 순으로 승객수가 많음을 알 수 있습니다. 오른쪽 그래프는 각 클래스별로 생존인원과 죽은승객의 인원을 비교를 했습니다. 1등급은 생존인원이 더 많고 2등급은 생존인원과 죽은 승객인원이 같았으며 3등급은 죽은 승객의 인원이 더 많았습니다.

5. 막대그래프로 생존율을 나타내면 다음과 같습니다. 1등급은 60%이상 생존했으며 2등급은 50%, 3등급은 30%도 안되는 생존율을 보이네요. 티켓 클래스등급이 낮을수록 생존율이 낮아짐을 알 수 있습니다.

6. 이번엔 성별에 따른 생존율을 알아보겠습니다. gruopby함수를 이용하여 성별과 생존의 데이터를 가져와 생존율을 알아보면 여성은 0.74, 남성은 0.21 즉 여성은 74%, 남성은 21% 생존했음을 알 수 있습니다.

7. crosstab을 이용해서 나타내면 여성 253명 중 189명은 생존, 64명은 생존하지 못하였고 남성 421명 중에서 92명은 생존, 329명은 생존하지 못했음을 확인할 수 있었다.

8. 각 티켓 클래스별로 여성, 남성 생존비율을 꺽은선 그래프로 나타내봅시다. factorplot()함수를 이용하면 다음과 같습니다. 각 티켓클래스 별로 알 수 있듯이 여성 생존비율이 남성 생존비율보다 높으며 또한 티켓클래스 등급이 높을수록 여성, 남성 생존비율이 높은 것을 알 수 있습니다.

9. 나이에 따른 생존을 알아보겠습니다. 우선 제일 나이가 많은 탑승객, 제일 어린 탑승객, 탑승객의 평균나이를 max,min, mean 함수를 이용하여 알아보면 제일 나이가 많은 탑승객은 80살, 제일 어린 탑승객은 4개월, 탑승객 평균 나이는 29.8살입니다. 정말 아기부터 노인분까지 다양한 연령층의 탑승객이 있었네요

10. 나이에 따른 생존분포를 kdeplot 시각화를 이용하여 그래프로 나타내봅시다. 파란색 선은 생존한 사람의 분포, 빨간색 선은 생존하지 못한 사람의 분포이다. legend를 이용하여 오른쪽처럼 범례를 표시할 수 있다. 20-30대가 가장 분포가 많으며 나이에 상관없이 생존과 생존하지 못한 분포는 비슷함을 알 수 있습니다.

11. 티켓클래스내에 나이분포를 알아보겠습니다. 티켓클래스내에 나이분포라는 제목을 하고있으며 그래프 사이즈는 8,6, x축은 나이를 말하고 있습니다. 파란색 선은 1등급 클래스를, 빨간색 선은 2등급클래스를, 노란색 선은 3등급 클래스 이며 kdeplot로 보여주고 있습니다. 1등급 클래스는 가장 많은 분포를 보이는 나이가 30대 후반, 2등급 클래스는 20대 후반에서 30대 초, 3등급은 20대입니다. 즉, 등급이 낮으면 낮을수록 가장 많은 분포를 보이는 연령대가 높아짐을 알 수 있습니다.

12.나이에 따른 생존비율을 알아보겠습니다. 우선 생존비율을 1살부터 80살까지 각 나이에 따른 인원수 분에 생존인원수로 정의합니다. 그래프를 보면 x축은 나이의 범위, y축은 생존비율이고 나이가 어리면 어릴수록 생존비율이 높게 나온것을 알 수 있습니다.

13. 티켓클래스와 나이에 따른 생존, 성별과 나이에 따른 생존을 알아보겠습니다.바이올린플롯을 이용하여 그래프를 그려볼껀데. 첫 번째 그래프는 티켓클래스와 나이에 따른 생존에 대한 그래프입니다. x축은 티켓클래스이며 y축은 나이입니다. 2등급을 보면 30대가 많이 생존하지 못하였고 10대 이하와 30대가 많이 생존한 것을 알 수 있습니다. 등급별로 얼마나 생존했는지, 얼마나 생존하지 못했는지 한눈에 알 수 있죠? 두 번째 그래프는 x축은 성별, y축은 나이를 말하며 여성을 보면 생존한 여성이 더 많은 것을 알 수 있고 남성을 보면 생존하지 못한 남성이 더 많은 것을 알 수 있으며 나이별로 생존 인원을 한눈에 파악할 수 있습니다.

14. 탑승항구등급에 따른 생존비율을 알아봅시다. 막대그래프를 이용해서 그래프를 그려보면 C등급는 60프로, S등급는 38프로, Q등급은 29프로이며 C,S,Q순으로 생존비율이 높은 것을 알 수 있습니다.

15. 이제 탑승항구등급에 따른 생존요인을 알아보겠습니다. 첫 번째는 탑승항구등급에 따른 인원수, 두 번째는 탑승항구등급의 남자와 여자 인원수, 세 번째는 탑승항구등급에 따른 생존수, 마지막으로는 탑승항구등급에 따른 티켓클래스 인원수를 countplot으로 나타내봅시다.

16. 탑승항구등급에 따른 인원수를 보면 S등급이 가장 많으며 C등급, Q등급순으로 인원수가 많음을 알 수 있습니다. 탑승항구등급의 남자와 여자의 수를 비교하면 S,C,Q등급 모두 여자보다 남자가 많음을 알 수 있다. 탑승항구등급과 생존인원수를 보면 C등급은 생존인원수가 더 많으며 S와 Q등급은 생존하지 못한 사람이 더 많음을 알 수 있습니다. 탑승항구등급에 따른 티켓클래스 등급을 보면 S와 Q등급은 3등급이 가장 많으며 C등급은 1등급클래스가 가장 많음을 알 수 있습니다.

17. 마지막으로 가족수에 따른 생존을 알아보겠습니다. 가족수를 형제, 배우자의 수 더하기 부모와 아이의 수 더하기 본인 1을 더한 것으로 해봅시다. 최대의 가족수는 8명, 최소의 가족수는 1명입니다.

18. 가족수에 따른 탑승인원을 보면 1명이 가장 많고 2명, 3명, 6명,4명 순으로 많습니다. 가족수에 따른 생존인원 수를 보면 2, 3, 4명은 생존인원이 더 많고 나머지는 생존하지 못한 인원이 더 많은 것을 알 수 있습니다. 따라서 가족수에 따른 생존비율을 보면 4명이 가장 생존율이 높으며 3, 2, 1, 7, 5, 6, 8명 순으로 높은 것을 알 수 있습니다.

19. 타이타닉 데이터 분석을 해보았는데요. 전체적인 결과를 살펴보면 첫 번째로 생존율과 생존인원수를 보면 생존 인원보다 생존하지 못한 인원이 더 많았고 두 번째로 티켓클래스와 생존율을 보면 1등급 티켓 생존율이 가장 높으며 2등급, 3등급 순으로 높습니다. 세 번째로 성별과 생존율을 보면 남성보다 여성의 생존율이 더 높았고 나이와 생존율을 보면 나이가 어릴수록 생존율이 더 높았습니다. 탑승항구등급과 생존율을 보면 C등급 항구의 생존율이 가장 높았으며 S, Q등급순으로 생존율이 높았습니다. 마지막으로 가족수에 따른 생존율을 보면 가족수가 4명일 때 생존율이 가장 높았으며 3명 2명 1명과7명은 생존율이 같았으며 5명 6명 순으로 높은 생존율을 보였습니다.

이렇게 해서 데이터 전처리 과정부터 타이타닉 데이터 분석을 해보았습니다. 어떠셨나요? 이젠 몇 천개 몇 만개의 데이터를 가져와서 데이터 분석을 할 수 있겠죠? 선생님이 데이터 분석하는데 있어 문법을 하나하나 설명하지는 못하고 전체적인 흐름에 대해서 이야기를 했는데 모르는 문법이 나오면 꼭 구글에 검색해서 문법을 공부하면 데이터 분석에 있어 많은 도움이 됩니다.

지금까지 타이타닉 데이터 분석이었습니다. 조금 어려웠을 수 도 있는데 차근차근 따라하면 좋은 결과가 있을거라 생각합니다. 구글에 검색하면 다양한 빅데이터 자료를 찾을 수 있습니다. 예를 들면 주택가격 예측하기 등 자신이 분석하고 싶은 빅데이터 자료를 찾아 분석해서 결과를 예측해봅시다.
다음글 <고등수학, 생각넓힘> 도형의 이동으로 띠문양 만들기
이전글 <고등수학, 생각넓힘> 빅데이터 분석2-데이터 전처리과정
자료관리 담당자
  • 담당부서 : 융합인재부
  • 담당자 : 김영주
  • 전화번호 : 043-229-1824