始める無料で始める

ウィンザー化で外れ値を処理する

"sum\_donations""donor\_id" の2つの変数を持つ basetable が与えられています。寄付額が極端に大きい寄付者がいると、"sum_donations" には外れ値が含まれる可能性があります。そこで、この変数をウィンザー化し、上位5%の金額を上位5%のパーセンタイル値で置き換えたいとします。

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

Pythonで学ぶ中級予測分析

コースを見る

演習の手順

  • sum_donations の最小値を表示し、少なくとも0であることを確認してください。次に sum_donations の最大値を表示します。
  • 適切な下側のパーセンタイルの下限を入力してください。0より大きい値は現実的で頻繁に発生するため、下側のパーセンタイル未満の値を置き換える必要はありません。
  • 「sum_donations」変数をウィンザー化した新しい変数「sum_donations_winsorized」を作成します。
  • sum_donations_winsorized の最大値を表示してください。

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

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

from scipy.stats.mstats import winsorize

# Check minimum sum of donations
print(____["____"].____())
print(____["____"].____())

# Fill out the lower limit
lower_limit = ____

# Winsorize the variable sum_donations
basetable["sum_donations_winsorized"] = ____(____["____"], limits=[lower_limit, 0.05])

# Check maximum sum of donations after winsorization
print(____["____"].____())
コードを編集して実行