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

人工知能

『DeepHowのCEO兼共同創業者、サム・ジェン氏によるインタビューシリーズ』

ディープハウのCEO兼共同創設者であるサム・ジェンは、著名な投資家から支持される急速に進化するスタートアップを率いていま...

人工知能

「ゲイリー・ヒュースティス、パワーハウスフォレンジクスのオーナー兼ディレクター- インタビューシリーズ」

ゲイリー・ヒュースティス氏は、パワーハウスフォレンジックスのオーナー兼ディレクターであり、ライセンスを持つ私立探偵、...

人工知能

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

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

人工知能

ベイリー・カクスマー、ウォータールー大学の博士課程候補 - インタビューシリーズ

カツマー・ベイリーは、ウォータールー大学のコンピュータ科学学部の博士課程の候補者であり、アルバータ大学の新入教員です...

人工知能

Aaron Lee、Smith.aiの共同設立者兼CEO - インタビューシリーズ

アーロン・リーさんは、Smith.aiの共同創業者兼CEOであり、AIと人間の知性を組み合わせて、24時間365日の顧客エンゲージメン...

人工知能

「15Rockの共同創業者兼CEO、ガウタム・バクシ氏によるインタビューシリーズ」

「ガウタム・バクシは、気候リスク管理とアドバイザリーサービスのグローバルリーダーである15Rockの共同創設者兼CEOですガウ...