Kaggle(5) - 上位n%・下位n%によるクリッピング

クリッピングとはデータの一部を抽出することです。

クリッピングすることで、分析に悪影響を及ぼすと考えられる外れ値を対象外とします。

(実行環境としてGoogleさんのColaboratoryを使用します。)

タイタニック データセットの読み込み

まずタイタニックのデータセットを読み込みます。

1
2
3
4
import seaborn as sns
from matplotlib import pyplot as plt
sns.set(style='darkgrid')
titanic = sns.load_dataset('titanic')

外れ値の判定

料金(fare)の統計量を確認してみます。

1
titanic.fare.describe()

平均が32、標準偏差が49、最大値が512と分布に偏りがあるようです。

次にヒストグラムを表示して、分布を可視化してみます。

1
2
plt.figure(figsize=(10,5))
sns.distplot(titanic.fare)

100以上のデータは度数が少なく偏りが大きいと見受けられますので、100未満のデータでクリッピングすることにします。

クリッピング

100未満のデータをクリッピングし、再度ヒストグラムを表示します。

1
2
3
titanic = titanic[titanic['fare'] < 100]
plt.figure(figsize=(10,5))
sns.distplot(titanic.fare)

クリッピング前よりだいぶ偏りが少なくなったようです。

最後に、クリッピング後の統計量を確認します。

1
titanic.fare.describe()

平均が22、標準偏差が20、最大値が93となり、統計量からも偏りが減少したことを確認できました。

次回は、表記の揺れの対応を行います。