Anomaly detection (IQR을 통한 이상치 처리)

2021. 12. 1. 01:35데이터 사이언스/이상치 처리

특정 변수의 데이터 전체를 이상치 처리 하는 것 보다, 특정 레이블에 해당 될 때의 데이터를 삭제하는게 효과가 존재   
 
def remove_outlier_test(d_cp,column):
          o_df = d_cp[column]
          quan_25 = np.percentile(o_df.values,25)
          quan_75 = np.percentile(o_df.values,75)

          iqr = quan_75 - quan_25
          iqr = iqr * 1.5
          lowest = quan_25 - iqr
          highest = quan_75 + iqr
          outlier_index = o_df[(o_df < lowest) | (o_df > highest)].index
          d_cp = d_cp.drop(outlier_index, axis=0)
          return d_cp

 

a1_out = remove_outlier_test(df, y_label)