EDA는 Exploratory Data Analysis의 약어로 탐색적 데이터 분석을 뜻한다.
데이터를 분석하고 결과를 내는 과정에 있어서 지속적으로 해당 데이터에 대한 ‘탐색과 이해’를 기본으로 가져야 한다는 것을 의미한다.
참고자료
EDA에 대한 통찰
EDA 개념 및 종류
EDA의 목적
데이터를 자동으로 시각화 해주는 라이브러리들이 여러개 있다.
이런 라이브러리들은 기본적으로 봐야하는 기술 통계 값을 한번에 시각화 해주는게 장점이다.
데이터를 불러오고 난 다음에 항상 하는 작업들이 있다. 그런 반복적으로 해야 하는 작업들을 한번에 해주는 것이 장점이지만, 대용량 데이터에 사용하기가 어렵다는 단점이 있다.
전체적인 시각화 데이터를 쉽게 그려보기 좋다.
pandas profiling 공식
pandas profiling github
pandas profiling 참고자료
import pandas as pd
import numpy as np
import seaborn as sns
# 최근 버전으로 upgrade 필요
!pip install seaborn --upgrade
# pandas profiling 설치
!pip install pandas-profiling==3.1.0
# pandas profiling 설정하기
from pandas_profiling import ProfileReport
# 펭귄 데이터셋 불러오기
df = sns.load_dataset("penguins")
# pandas profiling 하기. title 은 생략 가능하다.
profile = ProfileReport(df, title="penguins_profile")
# html파일이 생성
profile.to_file("penguins_profile_report.html")
판다스 프로파일링
https://github.com/ydataai/pandas-profiling
판다스 프로파일링으로 한번에 데이터 통계를 보고,
판다스 기능으로 하나씩 데이터 통계를 내봐서 차이를 비교해 보자.
프로파일링 전체적 그림을 그려보기 좋다.
수치형변수와 범주형 변수 일때
통계에 사용하는 그래프가 다른 걸 확인 해 볼 수 있다.
기술 통계를 볼 때 너무 뾰족한 경우
Skewness
Kurtosis
값을 확인해보면 알 수 있다.
Skewness : 가운데 균형이 맞을 수록 0 에 가깝다.
절대값이 커질 수록 한쪽으로 치우쳐짐
Interactions 을 통해서 어떤 정보를 알 수 있을까
Interactions 에는 범주형 자료는 나타내지 못한다.
Interactions 수치형 자료끼리 짝을 지어서 보여주는 역할을 한다.
Correlations
데이터 마다의 상관계수를 알 수 있다.
빨간 값은 -1에 가깝다.
파란색은 1에 가깝다.
https://github.com/fbdesignpro/sweetviz
기본적으로 봐야하는 기술 통계 값을
한번에 시각화 해주는게 장점이다.
https://github.com/AutoViML/AutoViz
보케라는 동적인 시각화 도구를 사용하고 있다.
인터랙티브한 시각화가 가능하다.
이런 훌륭한 추상화 도구들이 있지만, 우리가 왜 직접 기술통계를 구하는지 알아보자
이런 추상화는 대용량 데이터에 사용하기가 어렵다는 단점이 있다.
그래서 오후에는 직접 하나씩 기술통계를 시각화 해보자.
KDE 는 연속된 데이터에 대한 확률 밀도 함수를 그리게 된다.
확률 밀도 함수는, 밀도를 추정하는 것이다.
relplot - 관계를 표현하고 있다.
displot = distribution! 분포를 표현하고 있다.
위의 둘은 수치형 데이터에 사용한다.
catplot - 범주형데이터를 시각화 할때 사용한다.
hist => 빈도, kde=> 밀도 == 적분했을 때 1이 되는 값
relplot에서 ci=None 은 최근 버전에서 depelicated 되었다.
errorbar=None 으로 사용하면 된다.
상관계수가 높다고해서 인과관계가 높은 것은 아니다.