本記事では、外れ値を削除する雛形コードを載せました。
判定には、四分位範囲の考え方を用いたコードです。その定義では、下側25%(中央値の下側の更に中央値)、上側75%(中央値の上側の更に中央値)点を取得して、その幅から計算して除去するラインを決めます。ただ、本プログラム上では個別に直入力して融通が利くようにしています。

■本プログラム
import pandas as pd
df = pd.read_csv('boston_dataset.csv')
df
import matplotlib.pyplot as plt
plt.rcParams['font.size'] = 15
plt.scatter(df['LSTAT'], df['PRICE'])
plt.xlabel('LSTAT')
plt.ylabel('PRICE')
plt.xlim(0, 40)
plt.ylim(0, 55)
plt.grid()
def remove_outliers_func(df_in, column_name):
q1 = df_in[column_name].quantile(0.25)
q3 = df_in[column_name].quantile(0.75)
iqr = q3 - q1
print('IQR -> ', iqr)
low_line = q1 - 1.5 * iqr
high_line = q3 + 1.5 * iqr
df_out = df_in.loc[(df_in[column_name] > low_line) &
(df_in[column_name] < high_line)]
return df_out
DF = remove_outliers_func(df, 'PRICE')
DF
import matplotlib.pyplot as plt
plt.rcParams['font.size'] = 15
plt.scatter(DF['LSTAT'], DF['PRICE'])
plt.xlabel('LSTAT')
plt.ylabel('PRICE')
plt.xlim(0, 40)
plt.ylim(0, 55)
plt.grid()
以上
<広告>
リンク