散布図、箱ひげ図、ヒストグラムを用いて外れ値を見る

外れ値は平均などの統計量に影響を与えてしまう。

外れ値を見るために散布図を見る

#必要なライブラリのインポート
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
sns.set(style="darkgrid")

最後はseabornの図のスタイル

#散布図
sns.scatterplot(data=df,x="Age",y="Fare")

外れ値の判断基準として二つある

1、箱ひげ図による四分位範囲で判定

#箱ヒゲ図
plt.figure(figsize=(10,8))
sns.boxplot(data=titanic,x="Pclass",y="Age")

画像1

図の黒い点が外れ値だけどPclass以外の分類で見ると変わってくるため目安程度に考える。

2、上位、下位n%のクリッピング

n%は自分で決めるが散布図やヒストグラムを参考にする

#統計量を見てみる
titanic["Fare"].describe()

出力結果

count 891.000000
mean 32.204208
std 49.693429
min 0.000000
25% 7.910400
50% 14.454200
75% 31.000000
max 512.329200
Name: Fare, dtype: float64

平均が32、75%が31に対して最大値が大きすぎる

#ヒストグラム表示
plt.figure(figsize=(10,5))
sns.distplot(titanic["Fare"])

画像2

右裾が長いので50以上をクリッピング

#クリッピング&ヒストグラム表示
titanic=titanic[titanic["Fare"]<50]
sns.distplot(titanic["Fare"])

画像3


いいなと思ったら応援しよう!