Scikit-Learnを使用した特徴選択の方法

Scikit-Learnの特徴選択方法

機械学習モデルで重要な特徴を選択する方法

Timothy Muzaさんによる写真、Unsplash

特徴選択は、基になる問題に最も関連性の高い特徴を選択することです。予測的な機械学習では、モデルの予測能力を向上させるために適切な特徴を選択します。

特徴選択を行うための多くの方法があります。統計的な分析、例えばカイ二乗法など、またはより高度な方法、例えばモデルの特徴の重要性を使う方法などがあります。また、良いドメイン知識を持つことも特徴選択を行う最良の方法です。

Scikit-Learnでは、特徴選択を行うためのさまざまな関数があります。これらの関数は何ですか?それでは詳しく見ていきましょう。

1. VarianceTreshold

最も単純な特徴選択方法は、ある基準をルールとして使用することです。Scikit-Learnには、分散のしきい値に基づいて特徴を選択するためのVarianceTresholdという関数があります。

VarianceTresholdは、特徴の均一性に基づいて特徴を選択することを目指します。特定の特徴が分散のしきい値を下回る場合、それらは削除されます。デフォルトでは、VarianceTresholdは分散が0の特徴や値が1つしかない特徴も削除します。

<p統計的には、分散はデータの平均を基準にデータが広がっている程度を測定します。分散スコアは、データの平均値と他の値との間の広がりを示します。スコアが高いほど、データの広がりが大きいことを意味します。

このVarianceTreshold関数をデータセットの例で試してみましょう。まず、使用するシンプルなデータセットを作成しましょう。

import pandas as pdimport numpy as npX = pd.DataFrame(    [[0, 2, 0, 3],      [0, 1, 4, 3],      [0, 1, 1, 3]], columns = 'a b c d'.split())X

特徴選択を行う前に、各列の分散を測定しましょう。

for i in X.columns:    print(f'列 {i} の分散: {np.var(X[i])}')

adの分散が0であることがわかります。これは、それらの列の値がすべて同じであるためです。対照的に、列cはデータがより広がっているため、最も大きな分散を持っています。では、VarianceTreshold関数を使用して特徴選択を行ってみましょう。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

ファイデムのチーフ・プロダクト・オフィサー、アルパー・テキン-インタビューシリーズ

アルパー・テキンは、FindemというAI人材の獲得と管理プラットフォームの最高製品責任者(CPO)ですFindemのTalent Data Clou...

人工知能

ムーバブルインクのCEO兼共同創設者であるヴィヴェク・シャルマ氏についてのインタビュー・シリーズ

ビヴェクは2010年にムーバブルインクを共同設立し、急速な成長を遂げながら、600人以上の従業員を擁し、世界有数の革新的なブ...

人工知能

ジョナサン・ダムブロット、Cranium AIのCEO兼共同創設者- インタビューシリーズ

ジョナサン・ダムブロットは、Cranium AIのCEO兼共同創業者ですCranium AIは、サイバーセキュリティおよびデータサイエンスチ...

人工知能

「Zenの共同創設者兼CTO、イオン・アレクサンドル・セカラ氏によるインタビューシリーズ」

創業者兼CTOであるIon-Alexandru Secaraは、Zen(PostureHealth Inc.)の開発を牽引しており、画期的な姿勢矯正ソフトウェア...

人工知能

ピーター・マッキー、Sonarの開発者担当責任者-インタビューシリーズ

ピーター・マッキーはSonarのDeveloper Relationsの責任者です Sonarは、悪いコードの1兆ドルの課題を解決するプラットフォー...

AIニュース

Q&A:ブラジルの政治、アマゾンの人権、AIについてのGabriela Sá Pessoaの見解

ブラジルの社会正義のジャーナリストは、MIT国際研究センターのフェローです