<개요>
목표 | 타이타닉호 승객 변수를 분석해 생존율과 상관관계를 찾는다 |
핵심 개념 | 상관 분석, 상관 계수, 피어슨 상관계수, 히트맵 |
데이터수집 | 타이타닉 데이터 : seaborn 내장 데이터셋 |
데이터준비 | 결측치 치환 : 중앙값, 최빈값으로 치환 |
데이터탐색 | 1. 정보 확인 : info() 2. 차트를 통한 데이터 탐색 : pie(), countplot() |
데이터모델링 | 1. 모든 변수 간 상관 계수 구하기 2. 지정한 두 변수 간 상관계수 구하기 |
<상관분석>
- 두 변수가 어떤 선형적 관계에 있는지 분석 하는 방법
- 서로 독립적이거나 상관된 관계일 수 있는데 두 변수의 관계의 강도를 상관관계라고 함
- 상관관계의 정도를 나타내는 단위를 모상관 계수 p를 사용(강한지 약한지 수치로 알려줌 ( 원인과 결과는 알려주지않음))
> 상관계수가 +이면 양의 상관관계. 한 변수가 증가하면 다른 변수도 증가
> - 이면 음의 상관관계. 한 변수가 증가할 때마다 다른 변수는 감소
>>> 0.0 ~ 0.2 : 상관관계 거의 없음. / 0.2~0.4 : 약함 / 0.4~0.6: 있음 / 0.6~0.8 : 강함 / 0.8~1.0 : 매우 강함
- 유형 : 단순상관분석(2 변수) /
다중 상관분석(3개 이상의 변수간 관계의 강도를 측정, 편상관분석 : 하나는 고정하고 두 변수간의 강도를 나타낸거)
- 피어슨 상관계수: 상관계수중에서도 가장 많이 사용함. Pearson correlation coefficient또는 Pearson's r(상관계수)
- 성적이 성별에 영향이 있는가 / 소득수준이 삶의 만족도에 영향이 있는가
> 있다/ 없다로 나올 수 있는 가설을 검증하기 위한
- 0.05면 엄격하지 않게 적용하는것
- 기준치에 따라서 pvalue가 그보다 작으면 그 가설이 기각이됨 -> 실제로 그렇지 않다는 것
- 상관 분석 결과의 시각화는 두 변수의 관계를 보여주는 산점도나 히트맵을 주로 사용한다.
- pandas 패키지의 데이터프레임에서 corr() 함수를 사용하면 구할 수 있음. (int, float, boolean만 가능)
<데이터수집>
- seaborn의 내장데이터이기 때문에 그대로 불러온다.
https://github.com/mwaskom/seaborn-data 자세한 내용은 여기
- 데이터 내용
- 결측값 개수 확인해보기
- 결측값 채워넣기
<데이터 탐색>
전체 데이터 891개. 앞에서 결측값을 다 처리해줬기 때문에 모두다 Non-Null
생존자 수를 세어봄. 1이 생존자...! 342명밖에없다ㅠ
- 데이터 시각화
▼ 생존자 수를 pie 그래프를 사용하여 그려보았다.
▼ 이번에는 등급별 생존자 수를 countplot 그래프를 그려봄
#----------여기까지 한게 EDA(Exploratory Data Analysis)
수집한 데이터가 들어왔을 때, 이를 다양한 각도에서 관찰하고 이해하는 과정. 한마디로 데이터를 분석하기전에 그래프나 통계적인 방법으로 자료를 직관적으로 바로보는 과정.
데이터가 표현하는 현상을 더 잘 이해하고, 잠재적인 문제를 발견할 수 있음. 본격적인 분석에 들어가기전에 데이터의 수집을 결정할 수 있음.
다양한 각도에서 살펴본느 과정을 통해 문제 정의 단계에서 미쳐 발생하지 못했을 다양한 패턴을 발견하고, 이를 바탕으로 기존의 가설을 수정하거나 새로운 가설을 세울 수 있음.
출처 및 더 읽어봐야함 : https://eda-ai-lab.tistory.com/13 / http://blog.ecore.asia/?p=690
<모델링>
- 상관분석을 위한 상관 계수 구하고 저장하기
대각선 1을 중심으로 위랑 아래랑은 똑같다 (둘중에 하나만 보면됨)
양의 상관관계 = > fare이 많이 내면 많이 낼 수록 살아남을 확률이 높음.
음의 상관관계 = > pclass는 숫자가 증가하면 증가할 수록 살아남지 못함, 남자 성인은 죽을 확률이 높다, 혼자 탑승한 경우에도 생존율이 떨어진다.
===> 이런식으로 수치데이터를 가지고 확실하게 해석해야한다.
▶ CSV 형식으로 저장해서 엑셀파일에서도 볼 수 있음
- 특정 변수 사이의 상관계수도 따로 구할 수 있다.
- 상관 분석을 시각화할수도 있다.
- 두 변수의 상관관계도 시각화 할 수 있다.
kind에 따라서 그래프의 모양이 달라진다. https://seaborn.pydata.org/generated/seaborn.catplot.html?highlight=catplot
- 변수 사이의 상관 계수를 히트맵으로 시각해본다.
히트맵은 카테고리 형식이어야 하므로 10살 단위로 0부터 7까지의 카테고리값으로 치환한다.
그리고 상관계수를 계산하려면 숫자이여야하므로 sex 변수값을 0과 1로 치환하고
가지고 있는 데이터에는 같이 간 형제의 수 sibsp와 부모/자식의 수 parch를 더해서 새로운 family로 추가하여 히트맵에 표현해본다.
'머신러닝 > 프로젝트' 카테고리의 다른 글
Proj 자동차 연비 예측하기 (0) | 2023.08.09 |
---|---|
Proj 보스턴 주택 가격 회귀분석 (0) | 2023.08.09 |
Proj Wine 속성을 이용한 포도 품종 예측 (0) | 2023.08.07 |
Proj 데이터 기술통계 분석/데이터모델링 - 와인 퀄리티 (3) (0) | 2023.08.07 |
Proj 데이터 기술통계분석 / 데이터 탐색 - 와인 퀄리티 (2) (0) | 2023.08.07 |