본문 바로가기
취미

[Pandas] 판다스 프로파일링 파이썬 EDA 도구 ydata-profiling

by climb_JJIYO 2024. 2. 21.
반응형

데이터 프로파일링 보고서 일부

 

데이터 프로파일링은 데이터를 진단하고 이해하는 과정으로, 데이터 과학 및 머신러닝 모델 구축에 필수적인 단계입니다. 이 단계에서 데이터의 품질과 적합성을 평가하고 모델 학습에 사용될 데이터를 정제하는데 중요한 역할을 합니다. 데이터 프로파일링을 통해 데이터의 특성을 살피고, 누락된 값, 이상치, 불균형한 분포 등을 식별하여 데이터 전처리에 필요한 통찰력을 얻을 수 있습니다.

1. 데이터 프로파일링 도구 소개

pandas-profiling은 이러한 데이터 프로파일링 작업을 간편하게 수행할 수 있도록 도와주는 도구 중 하나입니다. 간단한 몇 줄의 코드로 데이터의 탐색적 분석을 수행하고, 다양한 통계 지표 및 시각화 자료를 제공하여 데이터에 대한 종합적인 이해를 돕습니다. 특히 pandas-profiling은 사용이 용이하며, 생성된 리포트를 PDF나 HTML 형식으로 자동으로 저장할 수 있어 공유하거나 문서화하는데 용이합니다.

 

데이터 품질에 대한 경고를 자동으로 감지하는 기능도 특히 주목할만 합니다. 누락된 데이터의 비율이나 데이터의 불균형, 높은 상관관계, 왜도 등과 관련된 다양한 데이터 품질 문제를 종합적으로 보고서로 생성하여 제시해줍니다. 이를 통해 데이터 과학자는 데이터 전처리에 필요한 작업에 대한 우선순위를 정하고 효율적으로 진행할 수 있습니다.

 

2. 판다스 프로파일링 패키지 명칭 변경 (pandaf-profiling -> ydata-profiling)

패키치의 명칭이 pandas-profiling에서 ydata-profiling으로 변경된 점에 유의해야 합니다. 새로운 이름을 사용하는 것이 권장되며, 변경된 패키지를 설치하여 사용하도록 합니다.

 

ydata-profiling은 이러한 데이터 프로파일링 작업을 더욱 효과적으로 개선된 패키지로, EDA를 간소화하고 데이터에 대한 통계 및 시각적 분석을 자동화합니다. 세부 보고서를 생성하고 표준화된 형식으로 출려하여 데이터 과학자 및 분석가들의 한 줄의 코드로 데이터를 이해하고 준비할 수 있게 돕습니다.

 

누락된 데이터, 중복항목, 이상값 등을 식별하고 통계 지표와 시각화 자료를 활용하여 데이터의 특성을 상세히 살펴볼 수 있습니다. 또한, 생성된 보고서는 HTML 파일로 저장하거나 주피터 노트북에 위젯으로 통합할 수 있는 기능도 있어 다양한 형태로 결과를 활용할 수 있습니다.

 

데이터 프로파일링은 데이터 과학 및 머신러닝 프로젝트의 초기 단계로서, 데이터의 품질과 구조를 파악하는데 있어서 중요한 역할을 합니다. ydata-profiling은 이러한 작업을 간편하게 수행하고, 표준화된 리포트를 생성하여 데이터 분석의 생산성을 향상시킵니다. 이를 통해 데이터 과학 및 머신러닝 프로세스를 더욱 효과적으로 관리하고 모델 개발을 보다 신속하고 정확하게 진행할 수 있습니다.

 

파이썬 라이브러리를 설치합니다.

pip install ydata-profiling

 

프로파일링을 시작합니다.

import numpy as np
import pandas as pd
from ydata_profiling import ProfileReport

data = pd.read_csv('./data/train.csv')
profile = ProfileReport(data, title="Profiling Report")

#html 파일로 내보내기
profile.to_file("your_report.html")

#josn 파일로 내보내기
json_data = profile.to_json()
profile.to_file("your_report.json")

 

명령줄에서도 사용할 수 있습니다.

ydata_profiling --title "Example Profiling Report" --config_file default.yaml data.csv report.html

 

ydata-profiling github를 통해 더 자세한 내용을 확인할 수 있습니다.

 

결론적으로, 프로파일링은 데이터 및 머신러닝 프로젝트에서 데이터의 품질과 구조를 파악하는 초기 단계로서 중요한 역할을 하며, 누락된 데이터, 중복 항목, 이상값 등을 식별하여 데이터의 특성을 상세히 살펴볼 수 있습니다. 표준화된 리포트를 생성하여 데이터 분석의 생산성을 향상시키고, 데이터 과학 및 머신러닝 프로세스를 효과적으로 관리할 수 있도록 도와줍니다. 이를 통해 모델 개발을 보다 신속하고 정확하게 진행할 수 있으며, 데이터에 대한 이해를 높여 프로젝트의 성공에 기여할 수 있습니다. 따라서 ydata-profiling을 적극적으로 활용하여 데이터 프로파일링 작업을 진행하는 것을 권장합니다.

반응형