任意の回帰分析手法で変数重要度(特徴量重要度)を計算する機能をDCEKitに搭載しました![v2.10.1]~Cross-validated Permutation Feature Importance(CVPFI)~

どの回帰分析手法でも変数重要度 (特徴量重要度) を計算する機能を DCEKit に搭載しました!重要度が 0 を有意に超えるようであれば、その説明変数 x はモデルの予測精度に貢献しているといえます。しかも、x の間に相関関係があっても、適切に重要度を計算できます。

DCEKit (Data Chemical Engineering toolKit) を PyPI にリリース!
これまで化学データ・化学工学データのデータ解析に役立つツールや金子研で開発された手法に関する Python コードを Github にて公開してきました。このたびは、これらのツール・手法 (の一部) に加えて、新たな機能を追加して、DCEK...

 

変数重要度というと、ランダムフォレスト系の重要度が有名です。

ランダムフォレスト(Random Forests, RF)~アンサンブル学習で決定木の推定性能を向上!~
ランダムフォレスト(Random Forest, RF)について、pdfとパワーポイントの資料を作成しました。データセットが与えられたときに、RFで何ができるか、RFをどのように計算するかが説明されています。pdfもスライドも自由にご利用く...

 

この x の重要度は、基本的にランダムフォレストのアルゴリズムに基づいているため、例えばサポートベクター回帰やガウス過程回帰などの、ランダムフォレスト以外の非線形回帰分析手法で回帰モデルの予測精度が良好だったときに、その手法でモデルを構築する上で x が重要かどうかを計算するわけではありませんでした。

こちらでも紹介したように、

Cross-validated Permutation Feature Importance(CVPFI)~任意の回帰分析手法で、説明変数間の相関関係を考慮しながら安定的に変数重要度(特徴量重要度)を計算する手法[金子研論文]
金子研の論文が Analytical Science Advances に掲載されましたので、ご紹介します。タイトルは Cross-validated permutation feature importance considering c...

 

金子研において、任意の回帰分析手法で変数重要度を計算する手法を開発しました。Cross-Validated Permutation Feature Importance (CVPFI) です。scikit-learn に搭載されている回帰分析手法であれば、どんな手法でもその手法でモデルを構築したときに重要度かどうかを示す指標を計算できます。

さらに、これまでの変数重要度は、ある変数 A と、A と相関の強い変数 B が x にあるとき、A や B が実際に重要であっても、変数重要度は低く見積もられてしまう問題がありましたが、CVPFI ではその問題を解決しています。A も B も (もし重要であれば) 変数重要度が高く計算されます。

CVPFI は DCEKit で計算できます。

GitHub - hkaneko1985/dcekit: DCEKit (Data Chemical Engineering toolKit)
DCEKit (Data Chemical Engineering toolKit). Contribute to hkaneko1985/dcekit development by creating an account on GitHu...
dcekit
Data Chemical Engineering toolkit

 

DCEKit における以下のサンプルプログラムで、実際に CVPFI を使用しています。

  • demo_cvpfi.py
  • demo_cvpfi_gmr.py

 

これらを参考にしていただき、ご自身でおもちのデータセットにも CVPFI 展開していただければと思います。なお、回帰分析手法として GMR を用いる場合と、それ以外を用いる場合とで異なるためご注意ください。

回帰モデルの解釈をするときなどに、CVPFI を活用していただければと思います。なお CVPFI の重要度は、0 を有意に超えるようであれば、その x は少なくともモデルの予測精度に貢献しているといえますが、値がいくつ以上であれば重要というわけではありません。重要度の閾値について検討したいときは、乱数をうまく使うとよいでしょう。

特徴量の重要度はモデルの予測精度が低い場合でも信用してよいのか?
分子設計・材料設計・プロセス設計において、分子記述子や合成条件・製造条件やプロセス条件などの説明変数 x と材料の物性・活性・特性などの目的変数 y との間で数理モデル y = f(x) を構築して、そのモデルを用いて x の値から y の...

 

また、CVPFI はランダムフォレストの変数重要度に代わるものであり、任意の回帰分析手法に対して用いることができますので、例えば Boruta の別の回帰分析手法バージョンを CVPFI に基づいて作成することも可能です。

[解析結果付き] Boruta、ランダムフォレストの変数重要度に基づく変数選択手法
Boruta という、ランダムフォレスト (Random Forest, RF) の変数重要度に基づいた変数選択手法について、パワーポイントの資料とその pdf ファイルを作成しました。いろいろなデータセットを解析しましたが、モデルの推定性...

 

ご参考になれば幸いです。

 

以上です。

質問やコメントなどありましたら、twitter, facebook, メールなどでご連絡いただけるとうれしいです。

タイトルとURLをコピーしました