セクション 2. 章 4
single
チャレンジ:欠損値の補完
メニューを表示するにはスワイプしてください
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、他に '' や別のマーカーも可)。
注意
SimpleImputer は DataFrame を想定。Series ではなく、単一列の DataFrame を選択するには二重角括弧を使用:
imputer.fit_transform(df[['column']])
fit_transform() は 2次元配列 を返しますが、DataFrame の列に代入するには 1次元 配列が必要です。
.ravel() を使って結果を平坦化します:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
タスク
スワイプしてコーディングを開始
DataFrame df にペンギンのデータが含まれています。'sex' 列には欠損値があります。最頻値カテゴリを用いて補完してください。
SimpleImputerをインポートする;strategy='most_frequent'でインピューターを作成する;df[['sex']]に適用する;- 補完後の値を
df['sex']に代入する。
解答
すべて明確でしたか?
フィードバックありがとうございます!
セクション 2. 章 4
single
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください