본문 바로가기

머신러닝

Dataprep.eda : Accelerate your EDA (EDA 자동화 패키지)

https://towardsdatascience.com/dataprep-eda-accelerate-your-eda-eb845a4088bc

 

Dataprep.eda: Accelerate your EDA

Everything you need to know about dataprepare.eda.

towardsdatascience.com

 

처음 작업하는 데이터에 대해서는 추세와 패턴을 파악하기 어렵습니다. 이때, EDA를 통해 데이터를 분석하는 것이 도움됩니다. EDA는 데이터가 어떻게 진행되고 있는지에 대한 전체적인 흐름을 파악하게 해줍니다. 또한, 숨겨진 관계와 패턴을 파악하는 데 도움을 줍니다. 이렇게 파악한 직관이 분석 및 학습 모델을 구축하는 데 중요하게 작용합니다.

 

Dataprepare는 SFU Data Science Research Group의 직관적인 도구로 데이터 과학의 속도를 높입니다. Dataprep.eda는 최소한의 코드로 전체 EDA 프로세스를 단순화하는 패키지입니다. 

 

#installing dataprep.eda
#open your terminal
pip install dataprep

이를 배우기 위해. 사기 탐지 데이터 세트 에 dataprep.eda를 적용했습니다. 데이터에는 amount, original balance, origin account, destination account와 같은 변수들과 이 거래가 실제로 사기 거래인지 여부를 나타내는 타겟 라벨(isFraud)이 있습니다.

#importing all the libraries
import pandas as pd
from dataprep.eda import plot, plot_correlation, plot_missing
#importing data and dropping missing values
df = pd.read_csv("capdata.csv")

 

1. dataprep.eda.basic package

사용자가 데이터 세트의 기본 특성을 분석할 수 있도록 API 플롯을 제공합니다. 각 변수에 대한 분포 또는 bar chart를 표시하여 사용자에게 데이터 집합에 대한 기본적인 의미를 부여합니다.

#API Plot
plot(df)

 

사용자가 하나 또는 두 개의 특정 변수에 관심이 있는 경우 해당 변수 이름을 매개 변수로 전달하여 특정 변수에 대한 자세한 플롯을 제공합니다.

 

plot(df, "newbalanceDest", bins=20)

 

2. dataprep.eda.correlation package

변수 간의 상관관계를 분석하기 위해 API plot_correlation을 제공합니다. 이는 변수 사이의 상관 행렬을 그립니다. 사용자가 특정 변수와 상관있는 변수들에 관심이 있는 경우 (예 : 가장 상관관계가 높은 변수를 A변수에), API는 A 변수를 매개 변수로 받아서 자세한 분석을 제공합니다.

 

#API Correlation
plot_correlation(df)
# k값을 가지는 상관 관계 히트 맵 (여기서 k = 1) plot_correlation(df, k=1)
# 지정된 요소와 다른 모든 속성의 상관관계 (즉, newbalanceOrig 과 다른 변수들 간의 상관관계)
plot_correlation(df, "newbalanceOrig")
# 지정된 변수와 다른 모든 변수의 상관관계 (단, 범위가 -1부터 0.3까지 정해져 있음)
plot_correlation(df, "newbalanceOrig", value_range=[-1, 0.3])

 

3. dataprep.eda.missing package

결측값의 패턴과 영향을 분석하기 위해 API plot_missing을 제공합니다. 한눈에 결측값 위치를 표시하여 사용자가 각 변수의 데이터 품질을 인식하고 패턴을 찾을 수 있습니다.

#API Missing Value
plot_missing(df)

 

특정 변수에서 결측값이 미치는 영향을 이해하기 위해 이 변수를 매개 변수로 전달할 수 있습니다. 사용자가 결측값의 영향을 이해할 수 있도록 결측값의 유무에 따른 변수의 분포를 제공합니다.

plot_missing(df, "isFraud", "type") #count of rows with and without dropping the missing values