pandas-profiling편, 이제 EDA를 한다고 시간을 버리지말자
이번에는 pandas-profiling이라는 파이썬 라이브러리로 EDA 보고서를 만들어 보겠습니다.
https://pypi.org/project/pandas-profiling/
설치는
로 간단히 끝납니다.
pandas-profiling은 sweetviz나 dataprep과 같이 간단히 EDA가 가능합니다. 이번에도 5줄만에 EDA 보고서 생성이 가능합니다.
1. 데이터 불러오기
2. EDA 실행 및 레포트 생성
3. EDA 보고서 보기
이 3가지를 각각 소스코드 1줄씩으로 표현할 예정입니다. 데이터는 가장 만만한 데이터인 타이타닉 데이터를 사용하겠습니다.
https://www.kaggle.com/competitions/titanic
이번에도 매우 간단합니다. ^^
1행은 타이타닉 데이터를 불러오기 위해 사용할 판다스 라이브러리를 불러옵니다.
2행은 우리를 위해 EDA를 하고 보고서를 만들 파이썬 라이브러리인 pandas-profiling을 불러옵니다.
4행에서는 타이타닉의 학습 데이터인 train.csv를 불러와서 df이라는 데이터프레임에 저장합니다.
6행에서는 4행에서 불러온 데이터프레임 df를 가지고 " 타이타닉 Profiling Report"라는 보고서를 만들어 달라고 요청합니다.
7행에서는 생성한 보고서를 브라우저에서 열어보거나, 다른 사람에게 공유할 수 있도록, html 파일로 저장합니다. 이 때, 파일이름은 "타이타닉_EDA_보고서.html"로 저장됩니다.
위 소스코드를 실행하면 잠시 뒤 "타이타닉_EDA_보고서.html" 파일이 생성됩니다. 직접 만들려면 고생을 해야 하지만, pandas-profiling에게 맡기면 금방 생성해 주는 보고서 입니다. 특히 이 보고서는 대화형입니다. 즉, 우리가 클릭을 하면 클릭한 방식으로 각종 결과를 보여줍니다.
분석한 타이타닉 데이터에 대한 요약을 보여줍니다.
데이터셋의 변수들마다 범주형 및 수치형에 맞는 기술통계량들이 보여집니다. Toggle details를 클릭하면 자세한 내용을 숨기거나 다시 볼 수 있습니다.
수치 데이터에 한해서 X축, Y축을 선택해서 산점도를 그릴 수 있습니다.
다양한 방법으로 상관계수를 구해줍니다.
결측 데이터의 갯수뿐만 아니라 해당 변수 안에서의 분포도 알 수 있습니다.
분석한 데이터의 원래 데이터를 10개정도 보여줍니다.
지금까지 dataprep, sweetviz, pandas-profiling 총 3가지로 탐색적 자료 분석 보고서를 만들어 보았습니다. 각각의 특징들이 있다는 것을 알 수 있습니다. 제 개인적으로는 pandas-profiling이 가장 자세한 정보를 보여주는 것은 아닌가하는 생각힙니다. 1개에만 맹신하지 말고, 3개 모두 어렵지 않으니 3개 보고서를 만들고 같이 살펴보는 것은 어떨까 하는 생각입니다.
그럼 효율적으로 하는 데이터분석을 같이 시작해보시지요!!!