始める無料で始める

分散の小さい特徴量

前の演習で、正規化後の head_df に対して分散の小さい特徴量を除外するしきい値として 0.001 が適切だと分かりました。今回は VarianceThreshold の特徴選択器を使って、これらの特徴量を削除しましょう。

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

Pythonで学ぶ次元削減

コースを見る

演習の手順

  • しきい値 0.001 で分散しきい値セレクターを作成します。
  • head_df を各列の平均で割って正規化し、セレクターに対して fit します。
  • .get_support() を使ってセレクターからブールマスクを作成します。
  • .loc[] メソッドにそのマスクを渡して、次元削減した DataFrame を作成します。

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

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

from sklearn.feature_selection import VarianceThreshold

# Create a VarianceThreshold feature selector
sel = ____(threshold=____)

# Fit the selector to normalized head_df
sel.fit(____ / ____)

# Create a boolean mask
mask = sel.____

# Apply the mask to create a reduced DataFrame
reduced_df = head_df.loc[____, ____]

print(f"Dimensionality reduced from {head_df.shape[1]} to {reduced_df.shape[1]}.")
コードを編集して実行