Open yuyuyuriko78 opened 3 years ago
欠損値がある行を消す方法はあるけど、欠損値が多い場合全体データ数がかなり減ってしまうので不向き
どう埋めるかはドメイン知識が必要な部分もある
unique()でデータに入っている値を確認し、fillna(なかった値)で埋める
デメリット:特徴を捉えることにつながらない。
scikit-learnのSimpleInputer
imp=SinpleImputer(strategy='mean')
imp.fit(x)
X_mean=imp.transform(x)
上のstrategyをmedianにする
ユークリッド距離でもにょもにょするやつ(難しい) scikit-learnのKNNImputer
欠損値が複数あるレコードのベクトルの配置方法?
種類 | 説明 |
---|---|
フィルター | 人間の手でフィルタリング。統計量を調べる。速度◎、精度× |
ラッパー | 逐次的に特徴量を増減し、すべてのパターンを自動で確認していく。速度×、精度◎ |
埋め込み | ランダムフォレスト、LASSOを利用。特徴量の重要度をみて選択。速度○、精度○ |
ランダムフォレストの重要度などを使用して特徴量を選択
同じデータセットに関してもアルゴリズムごとに重要な特徴量が異なる
ベイズ系のモデル KNNなどは精度が出ない
先生:川田さん