INNER CODE UNIT · Python
bound
ashishpatel26/Amazing-Feature-Engineering · feature_cleaning/outlier.py:27
upper bound = 75th quantile + (IQR * threshold)
lower bound = 25th quantile - (IQR * threshold)
are regarded as outliers. Default threshold is 3.
'''
IQR = data[col].quantile(0.75) - data[col].quantile(0.25)
Lower_fence = data[col].quantile(0.25) - (IQR * threshold)
Upper_fence = data[col].quantile(0.75) + (IQR * threshold)
para = (Upper_fence, Lower_fence)
tmp = pd.concat([data[col]>Upper_fence,data[col]<Lower_fence],axis=1)
outlier_index = tmp.any(axis=1)
print('Num of outlier detected:',outlier_index.value_counts()[1])
print('Proportion of outlier detected',outlier_index.value_counts()[1]/len(outlier_index))
return outlier_index, para
def outlier_detect_mean_std(data,col,threshold=3):
'''