始める無料で始める

外れ値への対処

前の演習では、外れ値を可視化することがMachine Learningの面接で役立つと学びました。外れ値に対処するもう一つの便利な方法は、Zスコアを計算することです。これは平均からおよそ±3標準偏差を外れ値のしきい値として与えます。

この演習では、scipy.stats モジュールを使って stats.zscore() 関数でZスコアを計算し、mstats.winsorize() 関数でWinsorizingという手法により外れ値を置き換えます。

動画レッスンを思い出してください。IQRの1.5倍より上または下にある点は、外れ値の可能性があると疑うべきでした。本演習の最後のステップで使うその値は 2120 です。

必要なパッケージはすでにインポート済みで、loan_data の数値列とカテゴリ列はそれぞれ numeric_colscategoric_cols として抽出・保存されています。

Machine learning pipeline

この演習はコースの一部です

Pythonで学ぶMachine Learning面接対策

コースを見る

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Print: before dropping
print(numeric_cols.mean())
print(numeric_cols.median())
print(numeric_cols.max())

# Create index of rows to keep
idx = (np.____(stats.____(____)) < 3).all(axis=1)

# Concatenate numeric and categoric subsets
ld_out_drop = pd.concat([numeric_cols.loc[____], categoric_cols.loc[____]], axis=1)

# Print: after dropping
print(ld_out_drop.mean())
print(ld_out_drop.median())
print(ld_out_drop.max())
コードを編集して実行