상세 컨텐츠

본문 제목

IQR Method를 통한 이상치 변환

IT/머신러닝

by Adonis_ 2021. 12. 16. 08:15

본문

IQR Method를 통한 이상치 변환

 

IQR(Interquartile range)이란 Q3 - Q1를 의미한다.

# Q3 - Q1: 사분위수의 상위 75% 지점의 값과 하위 25% 지점의 값 차이

 

IQR 범위

def outlier_iqr(data, column): 

    # lower, upper 글로벌 변수 선언하기     
    global lower, upper    
    
    # 4분위수 기준 지정하기     
    q25, q75 = np.quantile(data[column], 0.25), np.quantile(data[column], 0.75)          
    
    # IQR 계산하기     
    iqr = q75 - q25    
    
    # outlier cutoff 계산하기     
    cut_off = iqr * 1.5          
    
    # lower와 upper bound 값 구하기     
    lower, upper = q25 - cut_off, q75 + cut_off     
    
    print('IQR은',iqr, '이다.')     
    print('lower bound 값은', lower, '이다.')     
    print('upper bound 값은', upper, '이다.')    
    
    # 1사 분위와 4사 분위에 속해있는 데이터 각각 저장하기     
    data1 = data[data[column] > upper]     
    data2 = data[data[column] < lower]    
    
    # 이상치 총 개수 구하기
    return print('총 이상치 개수는', data1.shape[0] + data2.shape[0], '이다.')

 

출처

https://claryk.tistory.com/4

 

[데이터전처리] Outlier(이상치/이상값/특이값/특이치 등) 탐지 방법(detection method) : 1. IQR 방식 with

데이터 내에서 이상값을 탐지하는 강력한 방법 중 하나로 탐색적 데이터 분석(EDA)의 선구자인 John Tukey가 개발한 이상치 검출 IQR (사 분위 범위) 방법이 있다. 역사가 오래된 전통적인 방법이다.

claryk.tistory.com

https://hong-yp-ml-records.tistory.com/15

 

관련글 더보기

댓글 영역