Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:欠損値の補完 | Scikit-learnによるデータの前処理
Pythonによる機械学習入門
セクション 2.  4
single

single

bookチャレンジ:欠損値の補完

メニューを表示するにはスワイプしてください

SimpleImputer クラスは欠損値を自動的に置換。

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

主なパラメータ:

  • missing_value: 欠損値として扱うプレースホルダー(デフォルトは np.nan);
  • strategy: 補完方法(デフォルトは 'mean');
  • fill_value: strategy='constant' の場合に使用。

トランスフォーマーとして、.fit().transform().fit_transform() などのメソッドを提供。

欠損データの補完方法の選択は重要。一般的なアプローチ:

  • 数値特徴量 → 平均値
  • カテゴリ特徴量 → 最頻値

strategy の選択肢:

  • 'mean' — 平均値で補完;
  • 'median' — 中央値で補完;
  • 'most_frequent' — 最頻値で補完;
  • 'constant'fill_value で指定した値で補完。

missing_values は欠損値として扱う値を定義(デフォルトは NaN、他に '' や別のマーカーも可)。

Note
注意

SimpleImputerDataFrame を想定。Series ではなく、単一列の DataFrame を選択するには二重角括弧を使用:

imputer.fit_transform(df[['column']])

fit_transform()2次元配列 を返しますが、DataFrame の列に代入するには 1次元 配列が必要です。 .ravel() を使って結果を平坦化します:

df['column'] = imputer.fit_transform(df[['column']]).ravel()
タスク

スワイプしてコーディングを開始

DataFrame df にペンギンのデータが含まれています。'sex' 列には欠損値があります。最頻値カテゴリを用いて補完してください。

  1. SimpleImputer をインポートする;
  2. strategy='most_frequent' でインピューターを作成する;
  3. df[['sex']] に適用する;
  4. 補完後の値を df['sex'] に代入する。

解答

Switch to desktop実践的な練習のためにデスクトップに切り替える下記のオプションのいずれかを利用して、現在の場所から続行する
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  4
single

single

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

some-alt