티스토리 뷰

Data/Analytics

[DA] EDA & 시각화

jeong_reneer 2022. 1. 17. 09:19

1. 데이터 분석 과정

 

2. EDA vs FE

Garbage in, garbage out

EDA & FE의 중요성 : 데이터를 잘 정제해야 좋은 결과를 얻을 수 있다. 

 

- EDA (Exploratory Data Analysis, 탐색적 데이터 분석) : 데이터를 살펴보면서 FE에서 사용할 자료의 특징을 찾는 것

- FE (Feature Engineering) : EDA 단계에서 발견한 자료들의 특징을 이용해 ML/DL의 성능이 잘 나오도록 전처리하는 과정

 

 

3. EDA의 4가지 주제

1) 저항성

: 자료의 일부가 파손되었을 때, 영향을 적게 받는 성질

ex. 평균은 중앙값에 비해 자료의 이상치나 입력오류에 큰 영향을 받음 = 중앙값은 평균에 비해 저항성이 큼

 

2) 잔차의 해석

잔차가 엄청 크거나 작은 값들(=아웃라이어)이 왜 생겼는지를 파악

 

3) 자료의 재표현

: 데이터의 분석과 해석을 단순하게 할 수 있도록 원래의 변수를 적당한 척도로 바꾸는 것

- 자료가 선형적일 수도 있지만 로그/제곱근/역수 등으로 바꿔야 분석이 단순해질 때도 있음

- 변수를 적당한 척도로 변환하여 분포의 대칭성, 선형성, 분산 안정성 등을 파악해볼 수 있음

 

4) 그래프를 통한 현시성

: 그래프를 통한 시각화 → 데이터를 직관적 파악

 

 

4. EDA 과정

🔆Titanic Dataset : 좌석등급, 성별, 나이 등의 변수들을 가지고 승객의 생존 여부를 예측하는 Task

 

1) 데이터 형태 파악

 

2) 변수 타입(Dtype) 파악

- int64 : 정수형 데이터

- float64 : 실수형 데이터

- object : 문자열 데이터

 

3) 결측치, 이상치 확인

(1) 결측치 (null)

 

(2) 이상치 (튀는 값)

.describe()통해 기초 데이터 요약

평균(mean)이 32인데, 중앙값(50%)이 14

→ 이상치 존재 예측 가능

 

 

② sns.boxplot 통해 시각화

→ 이상치 확인 가능

 

 

 

 

 

 

 

 

 

4) 종속변수의 분포 확인

[Kaggle] Titanic Dataset으로 survived를 예측하는 Task

- 종속변수 : survived(살아 있으면 1, 아니면 0)

- 독립변수 : 다른 값들

 

5) 각 변수의 분포 & 변수-종속변수 간 관계 파악

(1) Pclass (자리 등급) : 1/2/3, int64 data

f,ax = plt.subplots(1,2)
df["Pclass"].value_counts().plot(kind = "bar", ax = ax[0])            # bar plot
sns.countplot(x = "Pclass", hue = "Survived", data = df, ax = ax[1])  # count plot 

sns.pointplot(x = "Pclass", y = "Survived", data = df)                # point plot
sns.violinplot(x = "Pclass", y = "Survived", data = df)               # violin plot

 

(2) Sex (성별) : male/female, object data

 

+) 두 독립변수(Pclass, Sex)에 따른 종속변수 분포 동시 확인 가능

 

(3) Age (나이) : float64 data

→ KDE Plot(확률 밀도 함수)로 표현 가능

   

 

(4) Embarked (승선항): S/C/Q, object data

 

 

 

🔆 변수들 간의 관계를 한 눈에 보기 좋은 그래프 : pairplot, heatmap

'Data > Analytics' 카테고리의 다른 글

[DA] WordCloud  (0) 2022.02.10
[DA] NLP Pipeline - NLTK & KoNLPy  (0) 2022.02.09
[DA] FE (Feature Engineering)  (0) 2022.01.18
[DA] Numpy & Pandas  (0) 2022.01.13
댓글
공지사항