본문 바로가기
AI&ML/preprocessing

이상치 제거 방법 code

by ornni 2024. 7. 7.
728x90
반응형

IQR (Interquartile Range) 방법

 

# 함수 생성

def detect_outlier_iqr(column):
    q1 = column.quantile(0.25)
    q3 = column.quantile(0.75)
    iqr = q3 - q1
    lower_boundary = q1 - iqr * 1.5
    upper_boundary = q3 + iqr * 1.5
    outlier = (column < lower_boundary) | (column > upper_boundary)
    return outlier

 

# True와 False로 나타냄

outliersr_iqr = train.apply(detect_outlier_iqr)
print(outliersr_iqr)

 

# 적용

train = train[~outliersr_iqr.any(axis=1)]
train.shape

 

# train데이터에 이상치가 제거됨 확인 가능


표준 편차 기반 제거

 

# 함수 생성

def detect_outlier_zscore(column):
    threshold = 3
    mean = column.mean()
    std_dev = column.std()
    zscore = (column - mean) / std_dev
    return sum(abs(zscore) > threshold)

 

# True와 False로 나타남

outliers_zscore = train.apply(detect_outlier_zscore)
print(outliers_zscore)

 

# 적용

train = train[~ outliers_zscore.any(axis=1)]
train.shape

 

# train데이터에 이상치가 제거됨 확인 가능


이상치 제거 방법 개념

https://ornni.tistory.com/54

 

이상치 제거 방법

IQR (Interquartile Range) 방법 주로 데이터 분포가 정규분포를 따르지 않을 때, 대부분의 데이터가 중앙에 몰려 있지 않고 극단적인 값을 갖는 경우에 유용 장점: 이상치를 식별하기 위한 단순하고 직

ornni.tistory.com

 

반응형

'AI&ML > preprocessing' 카테고리의 다른 글

상관계수 code  (0) 2024.07.14