import
데이터 분포 및 target과의 관계 파악 시각화 : train 과 test 의 분포 동시에 확인 ⭐⭐⭐
⇒ train과 test 데이터의 분포가 유사하다면 데이터 분포 변환은 고려하지 않아도 된다.
⇒ train에서 피처 구간별 target 평균이 일정하다면 해당 피처가 target에 유의미한 영향을 미치지 못한다고 해석할 수 있다. → 피처 삭제를 고려해야 한다.
결측값 확인
컬럼별 결측값 확인 : df.isnull().sum()
결측값이 n개 이상인 데이터 샘플을 확인
N = 5
indices_with_nan = df.isnull().sum(axis=1) >= N
df_with_nan = df[indices_with_nan]
결측값 처리 : 결측치 처리
fillna()
함수, interpolate()
함수 : filling missing value
수치형 변수 numeric variable : 데이터 분포 특성에 따라 처리
df_obj['feature'].fillna(df_obj['feature'].mean())
df_obj['feature'].fillna(df_obj['feature'].median())
범주형 변수 categorical variable : 데이터 규모에 따라 처리
df_obj['feature'].fillna(df_obj['feature'].mode())
변수 결합(상호작용 변수) : 데이터 도메인에 대한 지식을 바탕으로 결합할 수 있는 변수들을 하나로 결합한다.
ex) “user_id, 총가입기간, 연간납부금액 → 멤버쉽등급” 으로 압축 가능.
통계 기반 변수
ex) “카테고리, 가격” → ‘카테고리별 평균 가격’