멋쟁이 사자처럼 AI스쿨 7기 오늘코드 박조은 강사님의 수업 자료를 바탕으로 포스팅하였습니다.
1. 이상치란?
feature에서 일반적인 값의 분포를 벗어나는 경우
- 데이터 수집과정 또는 조작과정에서 오류가 나서 이상치 발생
- 정말 예외적인 경우가 발생하여 이상치 발생
이상치를 찾는 2가지 방법
1) 값의 범위를 지정하여 범위에서 벗어나는 값 찾기
2) 데이터를 시각화 하여 눈에 띄는 값 찾기
1번 방법은 2번에 비해 전문적이지만 어렵고
2번 방법은 2번에 비해 한 눈에 파악하기 쉽지만 주관적일 수 있다.
2. 왜 이상치를 처리해야 할까?
데이터를 왜곡하여 잘못된 결론을 도출할 수 있기 때문에
적절한 방법으로 처리를 해주어야 한다.(제거, 대체 등)
3. 이상치 탐색
1) 기술통계 값 확인하기
train["label_name"].describe()
2) 시각화
sns.scatterplot(data = train, x = train.index, y = "label_name")
plt.axhline(500000, c = "b", ls = ":")
3) 임의의 범위를 지정한 후 범위에 벗어난 값들 파악하기
4. 이상치의 처리
Q. train의 정답 값에 이상치가 있다면 어떻게 처리하는 것이 좋을까?
A1. 제거
-> train은 제거가 가능하지만, test는 제거가 불가능하다.
A2. 평균값, 중앙값으로 대체
-> 너무 극단적인 값을 평균이나 중앙값으로 대체한다면 실제값이 많이 왜곡될 수 있다.
A3. 사분위수로 분할해서 예측
-> 이게 피처라면 가능할 수도 있는 접근법이지만 정답(label, target)값이기 때문에 불가능하다.
A4. 스케일링
-> 스케일링 하는 것이 좋다. log를 취했던 것처럼 다시 복원도 가능하다.
'머신러닝과 딥러닝 > ML 개념정리' 카테고리의 다른 글
[ML] 17. 데이터 전처리 (6) - 스케일링(z-score, min-max, robust) (1) | 2022.11.14 |
---|---|
[ML] 16. 데이터 전처리 (5) - 희소값 다루기(기타처리) (0) | 2022.11.09 |
[ML] 12. 데이터 전처리(1) - 기본방법 개요 (0) | 2022.11.09 |
[ML] 10. 하이퍼파라미터 튜닝(3) - Random Search 주요 파라미터 (0) | 2022.11.03 |
[ML] 9. 하이퍼파라미터 튜닝(2) - Grid Search 주요 파라미터와 어트리뷰트 (0) | 2022.11.03 |
댓글