Br) 함수 블럭 - Outlier Detection

Br) 함수 블럭 - Outlier Detection

브라이틱스(Brightics)에서 수치형 변수의 이상치를 간편하게 처리할 때 사용하는 Outlier Detection 을 알아본다.


Manipulation EDA Pre-Processing

※ 본 내용은 Load 함수 블럭에서 sample_iris.csv 파일을 불러온 후에 진행한다.
사전 준비

개요

이상치 처리는 보통 Filter 블럭으로 하지만 그 방법이 Tukey 또는 Carling 방법인 경우 Outlier Detection 블럭을 사용하는 것이 훨씬 간편하다. 여기에서 다루는 함수 블럭은 정확하게 Outlier Detection(Tukey/Carling) 이다.


설정

Outlier Detection 블럭의 설정창은 다음과 같다.
Outlier Detection 블럭 설정 창

Input Columns 의 아래 네모 상자를 클릭하면 이상치를 처리할 수치형 변수의 목록이 오른쪽에 뜬다. 하지만 수치형 변수가 아닌 경우 목록에 보이지 않는다. 혹시 수치형인줄 알았던 변수가 보이지 않는다면 파일을 다시 읽어오거나 Select Column 함수 블럭을 활용하여 그 타입을 바꿔주도록 한다.
Select Column 포스팅 바로가기 -> [클릭]
이상치 처리 변수 선택

Outlier Method 에서는 Tukey 방법으로 이상치를 처리할 것인지 Carling 방법으로 처리할 것인지 선택할 수 있다. Multiplier 항목에 회색 글자로 쓰여있어서 대략 알 수 있지만, Tukey 방법은 IQR(사분위 범위)에 1.5를 곱하여 연산하고 Carling 방법은 IQR에 2.3를 곱하여 연산한다.

Multiplier 에서는 Outlier Method 에서 지정한 것이 아닌 사용자가 직접 IQR의 배수를 지정하여 연산할 수 있다.

Result 항목은 세 가지 설정이 있는데 각 설정의 설명은 다음과 같다.

  • Remove Outliers: 이상치 제거

  • Add Prediction: 이상치 여부를 별도의 변수에 표기
    ※ in: 이상치 아님. out: 이상치

  • Both: 상기 두 옵션을 동시에 적용

    여기에서 가장 필요 없는 옵션이 바로 Both이다. 이상치를 제거하는 것과 이상치 여부를 표기하는 신규 변수를 생성하는 것을 같이 하게 되면 신규 변수에는 전부 “in”이라는 값만 들어있어 전혀 쓸모가 없다. (왜 넣은 것일까…)

New Column Prefix는 이상치 표기를 위해서 새로 만드는 변수의 접두사(prefix)를 설정할 수 있다. 원하는 텍스트를 입력하지 않으면 자동으로 “is_outlier_” 접두사를 붙여준다.

추가로 특정 변수의 원소를 기준으로 묶음 연산을 하고자 할 때는 대상이 되는 변수를 아래 Group By 부분에서 [Select] 버튼을 눌러 변수 목록을 불러와 선택해준다. 묶음 연산은 되도록이면 연속형 변수가 아닌 명목형 변수를 기준으로 수행을 권장한다.


결과

sepal_width 변수를 Tukey 방법으로 이상치 처리한 결과는 다음과 같다.
이상치 처리 결과

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×