IQR Method를 통한 이상치 변환
IQR(Interquartile range)이란 Q3 - Q1를 의미한다.
# Q3 - Q1: 사분위수의 상위 75% 지점의 값과 하위 25% 지점의 값 차이
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://hong-yp-ml-records.tistory.com/15
나이브 베이즈 분류(Naive Bayesian Classification) (0) | 2021.05.01 |
---|---|
Kernel Density Estimate(커널밀도추정) (0) | 2020.12.20 |
의사결정나무(Decision tree) (0) | 2020.12.13 |
KNN(K-Nearest Neighbors)개념 (0) | 2020.12.13 |
댓글 영역