멋쟁이 사자처럼 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 로 시각화하기
- 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) 사례
'Python > 개념정리' 카테고리의 다른 글
[Python] 7. 웹스크래핑(1) - 기본개념, 주의사항 (0) | 2022.10.30 |
---|---|
[Python] 5. EDA(2) - 직접구하기(수치형 데이터) (0) | 2022.10.26 |
[Python] 3. 함수 (0) | 2022.10.26 |
[Python] 2. 제어문(조건문, 반복문) (1) | 2022.10.26 |
[Python] 1. 자료형 (0) | 2022.10.26 |
댓글