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

人工知能

「トリントの創設者兼CEO、ジェフ・コフマンへのインタビューシリーズ」

ジェフ・コーフマンは、ABC、CBS、CBCニュースで30年のキャリアを持った後、Trintの創設者兼CEOとなりましたジェフは手作業の...

人工知能

「サティスファイラボのCEO兼共同創設者、ドニー・ホワイト- インタビューシリーズ」

2016年に設立されたSatisfi Labsは、会話型AI企業のリーディングカンパニーです早期の成功は、ニューヨーク・メッツ、メイシ...

人工知能

「マーク・A・レムリー教授による生成AIと法律について」

データサイエンス内で新しい分野が現れ、研究内容が理解しにくい場合は、専門家やパイオニアと話すことが最善です最近、私た...

人工知能

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

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

人工知能

「ジャスティン・マクギル、Content at Scaleの創設者兼CEO - インタビューシリーズ」

ジャスティンは2008年以来、起業家、イノベーター、マーケターとして活動しています彼は15年以上にわたりSEOマーケティングを...

人工知能

「ナレ・ヴァンダニャン、Ntropyの共同創設者兼CEO- インタビューシリーズ」

Ntropyの共同創設者兼CEOであるナレ・ヴァンダニアンは、開発者が100ミリ秒未満で超人的な精度で金融取引を解析することを可...