17 Thu
TIL
프로그래머스 AI 스쿨 1기
3주차 DAY 4
4. Exploratory Data Analysis
탐색적 데이터 분석을 통해 데이터를 통달해봅시다. with Titanic Data
라이브러리 준비
분석의 목적과 변수 확인
데이터 전체적으로 살펴보기
데이터의 개별 속성 파악하기
방법론에 집중하다보면 데이터의 본질적 의미를 훼손하거나 망각할 수 있음 EDA는 데이터 그 자체만으로 인사이트를 얻어내는 접근법!
Titanic : Machine Learning from Disaster
EDA 관점에서 좋은 데이터
1. 분석의 목적과 변수 확인
I. 분석의 목적 확인
살아남은 사람들은 어떤 특징을 가지고 있었을까?
II. 변수 확인
변수는 총 10개
Variable : col name
Definition : col information
Key : encoding
survival : 1 생존, 0 사망 pclass : ticket class sex : sex age : age in years and fractional(분수) less than 1 and estimated is .5 sibsp : sibling or spouses aboard the titanic parch : parents or children aboard the titanic ticket : ticket number fare : fare cabin : cabin number embarked : port of Embarkation(승선지)
C : Cherbourg, Q : Queenstown, S = Southampton
0. 라이브러리 준비
1. 분석의 목적과 변수 확인
타이타닉 호에서 생존한 생존자들은 어떤 사람들일까?
PassengerId
Survived
Pclass
Name
Sex
Age
SibSp
Parch
Ticket
Fare
Cabin
Embarked
0
1
0
3
Braund, Mr. Owen Harris
male
22.0
1
0
A/5 21171
7.2500
NaN
S
1
2
1
1
Cumings, Mrs. John Bradley (Florence Briggs Th...
female
38.0
1
0
PC 17599
71.2833
C85
C
2
3
1
3
Heikkinen, Miss. Laina
female
26.0
0
0
STON/O2. 3101282
7.9250
NaN
S
3
4
1
1
Futrelle, Mrs. Jacques Heath (Lily May Peel)
female
35.0
1
0
113803
53.1000
C123
S
4
5
0
3
Allen, Mr. William Henry
male
35.0
0
0
373450
8.0500
NaN
S
결측치를 메꿔야 할 수도 있고 제거하거나 특정 방법으로 처리해야 할 수도 있음
2. 데이터 전체적으로 살펴보기
데이터간의 상관관계가 있는지
NA(결측치)가 없는지
DATA SIZE가 적절한지(일반화 가능?)
PassengerId
Survived
Pclass
Age
SibSp
Parch
Fare
count
891.000000
891.000000
891.000000
714.000000
891.000000
891.000000
891.000000
mean
446.000000
0.383838
2.308642
29.699118
0.523008
0.381594
32.204208
std
257.353842
0.486592
0.836071
14.526497
1.102743
0.806057
49.693429
min
1.000000
0.000000
1.000000
0.420000
0.000000
0.000000
0.000000
25%
223.500000
0.000000
2.000000
20.125000
0.000000
0.000000
7.910400
50%
446.000000
0.000000
3.000000
28.000000
0.000000
0.000000
14.454200
75%
668.500000
1.000000
3.000000
38.000000
1.000000
0.000000
31.000000
max
891.000000
1.000000
3.000000
80.000000
8.000000
6.000000
512.329200
passenger id : 큰 의미가 있을까? survived : mean을 보니 생각보다 죽은 사람이 많다 pclass : 큰 의미가 있을까? age : min = 0.42인 아기가 탑승했다 sibsp : max = 8인 대가족이 탑승했다 parch : max = 6인 대가족이 탑승했다 fare : min = 0, max = 512 => mean = 32인데 max = 512이므로 outlier 일 가능성이 크다.(outlier : 데이터 분포도에서 많이 벗어난 데이터)
PassengerId
Survived
Pclass
Age
SibSp
Parch
Fare
PassengerId
1.000000
-0.005007
-0.035144
0.036847
-0.057527
-0.001652
0.012658
Survived
-0.005007
1.000000
-0.338481
-0.077221
-0.035322
0.081629
0.257307
Pclass
-0.035144
-0.338481
1.000000
-0.369226
0.083081
0.018443
-0.549500
Age
0.036847
-0.077221
-0.369226
1.000000
-0.308247
-0.189119
0.096067
SibSp
-0.057527
-0.035322
0.083081
-0.308247
1.000000
0.414838
0.159651
Parch
-0.001652
0.081629
0.018443
-0.189119
0.414838
1.000000
0.216225
Fare
0.012658
0.257307
-0.549500
0.096067
0.159651
0.216225
1.000000
main_diagonal은 항상 1 금액과 등급은 반비례. 등급이 높을수록 생존률이 높지 않을까?
★ Correlation is NOT Causation
상관성 : A up, B up, ... 인과성 : A -> B
3. 데이터의 개별 속성 파악하기
각각의 feature가 무엇인지
특정 데이터가 특정 column에 따라 달라지는 의미
속성이 적절하게 매칭되어 있는가 (속성을 바꿔줄 필요가 있는가)
I. Survived Column

II. Pclass
Survived
Pclass
1
216
2
184
3
491
Survived
Pclass
1
136
2
87
3
119
Survived
Pclass
1
0.629630
2
0.472826
3
0.242363

III.Sex

IV. Age
Remind : 결측치 존재!

Appendix I. Sex + Pclass vs Survived

Apendix II. Age + Pclass

Last updated
Was this helpful?