Outlier
1. Definition
- 이상치로 모델의 학습에 있어서 혼란을 일으킬 수 있는 데이터, 통계적으로는 다른 observations과 거리가 있는 observation을 말한다.
- 물리적으로 불가능하다면 제거해야하고 가능하다면 고려해야한다.
2. Cause
- Data Collection & recording errors
- Variance in the data
3. Identifying
- Visualization method(boxplot...)
- Z-score method
- IQR method
4. Handling
1. Dropping them
- 확인된 이상치들을 제거한다.
- 통계적으로 유의미 할 수도 있는 데이터를 지울 우려가 있다.
2. Marking the Outliers
- 따로 column을 만들어 표시해둔다.
3. Rescaling the data
- np.log(), normalization 같은 함수를 사용하여 rescaling한다.
4. Double check them
- Mean, Median과 같은 값으로 변경한다.
Missing
1. Definifion
- 간단하다 NaN 같은 값들 즉, 비어있는 값들을 의미한다.
2. Handling
1. Do Nothing
- 아무것도 하지 않고 알고리즘이 알아서 Missing values를 처리하게 둔다.
2. KNNImputer
- KNNImputer와 같은 Imputer를 사용하면 원하는 인접 이웃 수의 가중 또는 가중 평균을 사용하여 Missing values를 replace한다.
- 다른 방법들 보다 훨씬 정확한 결과를 얻어낼 수 있지만, source를 많이 차지하고 outlier에 민감하다.
3. Imputation Using Mean/Median Values
- 각각 column의 정상값들의 Mean/Median을 계산하고 해당 column의 Missing values를 그 값으로 대체한다.
- 쉽고 빠르지만 정확하지 않고 불확실하다.
4. Imputation Using Most Frequent or Zero/Constant Values
- 최빈값으로 Missing values를 채우는 방법이다.
- categorical variables에도 사용할 수 있다.
- 변수 간 상관관계를 고려하지 않고 데이터의 bias를 만들어낼 수 있다.
5. Imputation Using Deep Learning
- categorical variable에도 잘 작동하고 CPU, GPU 둘다 지원한다.
- 매우 정확하지만 single column imputation이고 데이터 사이즈가 크면 오래걸린다.
- Missing values를 채워넣을 target colunm과 correlation이 높거나, target column의 정보를 포함하고 있는 다른 columns를 직접 지정해주어야 한다.