いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【KNIME】Random Forestで特徴量の重要度を算出したい

・以前に記載した通り、機械学習では、無駄な特徴量は捨てるか省くかした方が良い。

・Random Forestで特徴量の大切さ(寄与度?)を算出する手法がないかと調べてみたところ、Random Forest Learnerノードの真ん中の出力ポートAttribute Statisticsを利用する手法を見つけたので、メモしておく。

・なお、出典は以下。

www.knime.com

のETLの"Seven Techniques for Data Dimensionality Reduction (2015)"のPDF中の記載(以下)。

f:id:choron81:20211201151946p:plain

・実際に算出してみた(下図)。

f:id:choron81:20211201152719p:plain

f:id:choron81:20211201152832p:plain

・ワークフローは、先日のRandom Forest分類のフローにMath Formula以降をくっつけて作成した。Math Formulaは、参考通り、SplitsをCandidateで除して足し算した。

f:id:choron81:20211201153047p:plain

・Sorterでランキングし、RowIDで特徴量名を抽出し、Bar ChartでScoreを描画した。
・SeptalWidthのモデルへの寄与が比較的小さいと推察された。Irisデータセットは特徴量が少ないので、削る意味があるか微妙だが、特徴量が多い場合は削ることも加味したい。

 

終わり。