데이터·데이터전처리

[데이터 전처리 02] - 머신러닝에서 가장 중요한(?) 데이터 전처리(2) - 이상치(Outlier) 처리

데이터요리사 2021. 1. 27. 15:28

안녕하세요. 데이터 요리사, 루나입니다.

 

수집한 데이터가 비어있는(결측치) 경우도 있는가 하면,

말도 안되는 이상한 값이 들어있는 경우도 있죠.

겨울철의 기온값이 40도가 넘는 값이 들어있다던지,

매출값이 비정상적으로 튀는 금액이 들어있다던지요.

 

이상치도 결측치와 마찬가지로 값을 삭제하거나 치환하여

데이터 분석에 유의미한 결과를 도출 할 수 있도록 전처리를 해주어야합니다.

 

하지만 결측치의 경우는 값이 비어있어서 찾는 방법이 수월했던 반면,

이상치는 값이 엉뚱한 값으로 채워져있어서 찾아내는 것이 쉽지 않습니다.

 

해당 도메인에 대한 지식이 있다면 쉽게 임계값(threshold)을 기준으로 처리해줄 수도 있겠지만,

그렇지 않은 경우에는 난감하죠.

이상치(Outlier)를 판단하는 방법에 대해서 정리해보겠습니다.

 

 

1 백분위수(Percentile) 기반 이상치 판단

백분위수(Percentile)이란, 크기가 있는 값들로 이뤄진 자료를 순서대로 나열했을 때, 백분율로 나타낸 특정 위치의 값을 의미합니다. 즉 크기 순서대로 줄 세웠을 때 몇 %에 해당하는지 나타내는거죠.

흔히 데이터가 종 모양의 정규분포를 이루는 경우가 많기 때문에 크기 순서로 줄을 세워보면 중간값이 가장 많고, 작거나 큰 값은 상대적으로 적은 비중을 차지합니다. 백분위수 기반 이상치를 판단하는 방법은 크기가 너무 크거나 작은 값을 이상치로 판단하고 값을 제거 또는 적절하게 치환하게 됩니다.

Percentile 기반 이상치 판별 방법

이상치를 판별하기 위해서 우선 25%에 해당하는 1분위수(Q1)과 75%에 해당하는 3분위수(Q3)를 기준으로 울타리를 만듭니다. 이 울타리를 IQR라고 부릅니다. IQR의 1.5배의 크기만큼 좌측, 우측에 울타리를 늘려주어 이상치를 판단하는 임계값을 설정합니다. 

직관적으로 살펴봤을 때에, IQR이라는 울타리는 전체 데이터에 50%를 차지하는 값이 존재할만큼 큰 울타리입니다. 그런데 그 울타리의 1.5배만큼 앞뒤로 여유를 준 큰 울타리를 설치한다면, 정규분포의 데이터의 경우 99% 이상 포함이 되는 범위입니다. 

이렇게 IQR을 기반으로 한 울타리를 사용하여 이상치를 판단하는 방법을 '백분위수 기반 이상치 판단법'이라고 합니다.

 

2 백분위수(Percentile) 기반 이상치 판단 사례

다음은 Titanic 데이터의 Age컬럼과 Fare컬럼의 데이터 분포를 나타냅니다.

Titanic 데이터 - Percentile 기반 이상치 판단

BoxPlot의 양 끝 선을 넘어서 점으로 표시된 값들은 백분위수 기반 이상치에 해당하는 데이터입니다.

 

3 클러스터링 기반 이상치 판단

클러스터링이란 데이터간의 유사도에 따라 각 데이터를 그룹하하는 방법입니다. 일반적으로 데이터 간의 거리가 가까우면 유사도가 높다고 판단합니다. 클러스터링 알고리즘을 기반으로, 군집에 속하지 않는 점을 이상치로 판단하는 방법도 있습니다.

데이터 클러스터링

 

4 이상치 처리를 안하면 어떻게 되죠?

결측치는 처리를 안해주면 모델 학습이 아예 진행이되지 않으니 꼭 해줘야한다는 것은 알겠는데, 이상치는 처리를 안해주면 어떻게 될까요?

이상치가 존재하는 데이터로 학습한 모델은 왜곡된 결과를 도출해서 성능이 떨어질 수 있습니다.  예를 들어 체중 데이터의 분포가 실제로 20~60kg인 데이터가 있는데 200kg라는 이상치가 포함되어 있는 경우라면요.  컴퓨터는 학습과정에서 60kg이라는 값이 굉장히 큰 값임에도 불구하고 200kg라는 값이 존재하기 때문에  별로 크지 않다고 여길 수 있겠죠. 물론 학습 알고리즘에 따라서 이런 이상치가 크게 영향을 받지 않는 경우도 있겠지만, 데이터의 정규선형분포를 기반으로 만들어진 모델의 경우에는 학습 성능에 굉장히 안좋은 영향을 줄 수 있으니 반드시 처리해주는 것이 좋습니다.

머신러닝 모델의 목적은 많은 데이터를 통해 '일반적인' 경향성을 파악하여 알고리즘을 만들어내는 것입니다. 특수한 케이스까지 반영한 모델은 과적합이 발생할 우려가 있어서 오히려 좋지 않은 모델이라고 평가합니다.

 

 

 

 

 

함께 보면 좋은 글

※ 이 글의 내용을 상업적으로 무단 활용, 편집하는 것은 금지하고 있습니다. 강의, 출판 등 상업적 이용이 필요하신 경우, 문의 바랍니다.

728x90