"데이터 분석의 8할은 데이터 전처리이다."
결측치가 있는 데이터를 제거한다.
결측치를 어떤 값으로 대체한다
-결측치를 대체하는 방법은 다양한데 데이터마다 특성을 반영하여 해결해야 함.
같은 값을 가진 데이터 없이 행(row)별로 값이 유일해야 한다면 중복된 데이터를 제거해야 함.
DataFrame.duplicated()
는 중복된 데이터 여부를 불리언 값으로 반환
이상치란 값의 범위에서 벗어나 극단적으로 크거나 작은 값.
평균을 빼주고 표준편차로 나눠 z score(X−μ/σ)를 계산.
그리고 z score가 특정 기준을 넘어서는 데이터에 대해 이상치라고 판단.
기준을 작게 하면 이상치라고 판단하는 데이터가 많아지고, 기준을 크게 하면 이상치라고 판단하는 데이터가 적어짐.
abs(df[col] - np.mean(df[col])) : 데이터에서 평균을 빼준 것에 절대값.
abs(df[col] - np.mean(df[col]))/np.std(df[col]) : 위에 한 작업에 표준편차로 나눔.
df[abs(df[col] - np.mean(df[col]))/np.std(df[col])>z].index: 값이 z보다 큰 데이터의 인덱스를 추출
사분위 범위수. 제 3사분위수에서 제 1사분위 값을 뺀 값으로 데이터의 중간 50%의 범위
Standardization: 데이터의 평균은 0, 분산은 1로 변환
Min-Max Scaling: 데이터의 최솟값은 0, 최댓값은 1로 변환
머신러닝이나 딥러닝 프레임워크에서 범주형을 지원하지 않는 경우 원-핫 인코딩을 해야 함.
카테고리별 이진 특성을 만들어 해당하는 특성만 1, 나머지는 0으로 만드는 방법