Snoopy [Python] 4. EDA(1) - pandas profiling, sweetviz, autoviz
Python/개념정리

[Python] 4. EDA(1) - pandas profiling, sweetviz, autoviz

Sooyoon Jeong 2022. 10. 26.

멋쟁이 사자처럼 AI스쿨 7기 박조은 강사님의 수용내용 및 자료를 바탕으로 포스팅하였습니다.


 추상화된 도구(pandas profiling, sweetviz, autoviz 등)로 기술통계를 간편하게 구하는 방법에 대해 배워볼 예정이다.

 

1. 수치형 변수와 범주형 변수

  - 변수에는 수치형 변수와 범주형 변수가 있다.
  - 두 변수의 기술통계 값은 서로 다르다.
  - 일반적으로 seaborn을 활용하여 시각화를 할 경우, 범주형 데이터는 countplot을 수치형 데이터는 histogram을 사용한다.

2. 데이터셋 불러오기

데이터셋을 불러온 뒤에, 기본적으로 확인하면 좋을 사항들이다.

추가로 데이터 셋은 sns와 pd 라이브러리를 활용하여 불러올 수 있다.

 

데이터명 = sns.load_dataset("###") : 데이터 셋을 불러온다.
데이터명.tail()
데이터명.head()
데이터명.sample()
데이터명.shape
데이터명.info()


3. 추상화된 도구를 통한 기술 통계 구하기

가. Pandas Profiling 활용 기술통계 값 한꺼번에 보기

[참고문서] GitHub - ydataai/pandas-profiling: Create HTML profiling reports from pandas DataFrame objects

 

1) 설치하고 레포트 만들기

!pip install pandas-profiling==3.1.0

※ 버전 호환성 이슈로 3.1.0 버전으로 pandas profiline 설치
※ ==: 버전 지정, 없으면 최신버전으로 설치

 

from pandas_profiling import ProfileReport
profile = ProfileReport(df, title="Pandas Profiling Report") # title: 이름 지정가능
profile.to_file("pandas_profile_report.html") # 주피터 저장 위치에 html 생성

 

2) 예시
NASA Meteorites

https://pandas-profiling.ydata.ai/examples/master/meteorites/meteorites_report.html

 

Titanic Dataset

https://pandas-profiling.ydata.ai/examples/master/titanic/titanic_report.html

 

1️⃣ overview

    - overview: 개요
    - alerts: 주의해서 봐야할 점
    - reproduction: 생성 시기 등 표기

  2️⃣ variables: 각 변수별 기술통계 표기 (수치형 데이터와 범주형 데이터는 표시되는 바가 다르다.)
  3️⃣ interactions: 수치형 자료끼리의 관계를 보여준다. (범주형 자료는 없다.)
  4️⃣ correlations: spearman, pearson, kendall, cramer, philk 상관계를 볼 수 있다.
  5️⃣ missing values: 
  6️⃣ sample:

 

나. sweetviz 활용 기술통계 한꺼번에 보기

[참고문서]: sweetviz · PyPI

 

  1) 설치하고 html 생성하기

!pip install sweetviz
import sweetviz as sv

my_report = sv.analyze(my_dataframe, target_)
my_report.show_html() # Default arguments will generate to "SWEETVIZ_REPORT.html"

 

2) 예시

Titanic Dataset

http://cooltiming.com/SWEETVIZ_REPORT.html

 

다. autoviz 로 시각화하기

[참고문서]: GitHub - AutoViML/AutoViz: Automatically Visualize any dataset, any size with a single line of code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.

  - bokeh로 시각화해주는 도구
  - interactive 표현에 유리하다. (짝을 지어서 보여주기 때문)

  1) 설치하고 파일 생성하기

!pip install autoviz

from autoviz.AutoViz_Class import AutoViz_Class
AV = AutoViz_Class()

filename = "######"
sep = ","
dft = AV.AutoViz(
    filename,
    sep=",",
    depVar="",
    dfte=None,
    header=0,
    verbose=0,
    lowess=False,
    chart_format="html",
#     chart_format="bokeh",
    max_rows_analyzed=150000,
    max_cols_analyzed=30,
#     save_plot_dir=None
)

 

2) 사례

AutoViz/Examples at master · AutoViML/AutoViz · GitHub

댓글