데이터를 분석하다보면 가끔 정상적인 범위에서 많이 벗어난 이상치를 발견하게 됩니다.
그런 데이터들은 분석 결과를 왜곡시킬 수 있기 때문에 반드시 처리를 해줘야 하는데요,
문제는 사람이 모든 데이터를 일일이 살펴보면서 이상치를 걸러낼 수 없다는 것이죠..
그렇기에 데이터를 다루는 사람이라면 반드시 이상치 탐지 방법을 알고 있어야 합니다.
여기에는 어떤 것들이 있으며, 어떤 방식으로 이상치를 찾아내는지 한번 살펴보죠!
Z-Score
데이터의 분포가 정규 분포를 이룰 때, 데이터의 표준 편차를 이용해 이상치를 탐지하는 방법
- Z-Score는 해당 데이터가 평균으로부터 얼마나 표준편차 만큼 벗어나 있는지를 의미
- 주로 Z-Score에서 3보다 크고 -3보다 작은 값을 이상치로 판별
IQR(Interquartile Range) with Box plots
데이터의 분포가 정규 분포를 이루지 않거나 한쪽으로 치우친 경우, 데이터의 IQR 값을 사용해 이상치를 탐지하는 방법
- 박스 플롯을 통해 최소값, 최대값, 중앙값, Q1, Q3 값을 알 수 있으며, 이상치를 확인할 수 있음
- Q1 - 1.5*IQR 미만, Q3 + 1.5*IQR 초과를 이상치로 간주
Isolation Forest
결정 트리(decision tree) 계열의 비지도 학습 알고리즘으로 고차원 데이터셋에서 이상치를 탐지할 때 효과적인 방법
- 데이터의 "고립"을 기반으로 작동하며 이상치는 정상 데이터보다 고립되기 쉽다는 점을 활용
※ 작동 원리
- 데이터를 랜덤한 방식으로 나무 구조로 분할함
- 이상치는 적은 횟수의 분할만으로도 고립되기 때문에, 고립되는 데 필요한 경로 길이가 짧음
- 여러 나무의 결과를 평균 내어 이상치 점수를 계산함
DBScan(Density Based Spatial Clustering of Applications with Noise)
밀도 기반 클러스터링 알고리즘으로, 밀도 기준으로 군집을 정의하고 밀도가 낮은 데이터를 이상치로 탐지
- 밀집된 지역에서 데이터를 군집화한 후, 밀도가 낮아 어느 군집에도 속하지 못하는 점들을 이상치로 간주
※ 주요 매개변수
- Eps : 데이터 포인트가 이웃이라고 간주되는 거리의 반경으로, 데이터 분포에 따라 결정함
- MinPts : 한 군집을 이루는 최소 데이터 포인트 개수로, 데이터 차원(D)에 따라 일반적으로 D+1 이상의 값으로 설정함
'Study > Data Science' 카테고리의 다른 글
[Data Science] Feature Selection - 유전 알고리즘(Genetic Algorithm, GA) (0) | 2024.12.07 |
---|---|
[Data Science] 결측 데이터 처리 방법 (3) | 2024.12.06 |
[Data Science] 크롤링 라이브러리 (파이썬) (1) | 2024.12.05 |
[Data Science] 데이터의 편향 완화 전략 : 데이터 균형화 (오버샘플링 & 언더샘플링) (0) | 2024.12.05 |