回帰:特徴選択

Pythonで学ぶMachine Learning面接対策

Lisa Stuart

Data Scientist

適切な特徴を選ぶには:

  • 過学習を抑制
  • 精度を向上
  • 解釈性を向上
  • 学習時間を短縮

特徴選択の手順

1 https://www.analyticsindiamag.com/what-are-feature-selection-techniques-in-machine-learning/
Pythonで学ぶMachine Learning面接対策

特徴選択の方法

  • フィルター:統計的指標で特徴を順位付け
  • ラッパー:ML手法で性能を評価
  • 埋め込み:反復学習で特徴を抽出
  • 重要度:木ベースMLで重要度算出
Pythonで学ぶMachine Learning面接対策

方法の比較

方法 MLモデルを使用 最良サブセット選択 過学習の恐れ
フィルター いいえ いいえ いいえ
ラッパー はい はい ときどき
埋め込み はい はい はい
重要度 はい はい はい
Pythonで学ぶMachine Learning面接対策

相関係数の統計検定

特徴/目的変数 連続 カテゴリ
連続 ピアソン相関 LDA
カテゴリ ANOVA カイ二乗
Pythonで学ぶMachine Learning面接対策

フィルター法

関数 返り値
df.corr() ピアソン相関行列
sns.heatmap(corr_object) ヒートマップ
abs() 絶対値
Pythonで学ぶMachine Learning面接対策

ラッパー法

  1. 前進選択(LARS=最小角回帰)
    • 特徴なしから開始し、1つずつ追加
  2. 後退消去
    • 全特徴から開始し、1つずつ削除
  3. 前進選択/後退消去の併用(双方向消去)
  4. 再帰的特徴消去
    • RFECV
Pythonで学ぶMachine Learning面接対策

埋め込み法

  1. Lasso回帰
  2. Ridge回帰
  3. ElasticNet

Lasso、Ridge、ElasticNet

Pythonで学ぶMachine Learning面接対策

木ベースの特徴重要度

  • Random Forest --> sklearn.ensemble.RandomForestRegressor
  • Extra Trees --> sklearn.ensemble.ExtraTreesRegressor
  • 学習後 --> tree_mod.feature_importances_
Pythonで学ぶMachine Learning面接対策
関数 返り値
sklearn.svm.SVR サポートベクター回帰推定器
sklearn.feature_selection.RFECV 交差検証付き再帰的特徴消去
rfe_mod.support_ 選択特徴のブール配列
ref_mod.ranking_ 特徴ランク(選択=1)
sklearn.linear_model.LinearRegression 線形モデル推定器
sklearn.linear_model.LarsCV 交差検証付き最小角回帰
LarsCV.score 決定係数(R²)
LarsCV.alpha_ 推定正則化パラメータ
Pythonで学ぶMachine Learning面接対策

Passons à la pratique !

Pythonで学ぶMachine Learning面接対策

Preparing Video For Download...