Language

MutualInformationFeatureSelectingEstimator クラス

定義

ラベル列との相互情報で並べ替えられた、指定されたすべての列の上位 k 個のスロットを選択します (指定した列の値を観察することで、ラベルについて学習できます)。

public sealed class MutualInformationFeatureSelectingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.ITransformer>
type MutualInformationFeatureSelectingEstimator = class
    interface IEstimator<ITransformer>
Public NotInheritable Class MutualInformationFeatureSelectingEstimator
Implements IEstimator(Of ITransformer)
継承
MutualInformationFeatureSelectingEstimator
実装

注釈

エスティメーターの特性

この推定器は、パラメーターをトレーニングするためにデータを確認する必要がありますか? Yes
入力列のデータ型 数値、 テキスト 、または キー のデータ型のベクターまたはスカラー
出力列のデータ型 入力列と同じ
ONNX にエクスポート可能 Yes

正式には、相互情報は次のように書くことができます。

$\text{MI}(X,Y) = E_{x,y}[\log(P(x,y)) - \log(P(x)) - \log(P(y))]$ ($x$ と $y$ はランダム変数 $X$ と $Y$ の観測値です。

ここで、期待 E は X と Y の共同分布を引き継ぐ。ここで、P(x,y)はXとYの結合確率密度関数、P(x)とP(y)はそれぞれXとYの限界確率密度関数です。 一般に、従属変数(またはラベル)と独立変数(または特徴)の間の相互情報が高いほど、ラベルはその特徴に対する相互依存度が高いことを意味します。 ラベルとの相互情報が最も大きい出力機能でトップ スロットを保持します。

たとえば、次の [特徴とラベル] 列で、ラベル列との相関関係が高い上位 2 つのスロット (ベクター要素) が必要であると指定した場合、この Estimator を適用した出力では、1 番目と 3 番目のスロットのみが保持されます。これは、それらの値が Label 列の値とより相関しているためです。

Label Features
True 4,6,0
False 0,7,5
True 4,7,0
False 0,7,0

エスティメーターを適合させ、結果のトランスフォーマーでデータを変換した後、上記のデータセットがどのように表示されるかを次に示します。

Label Features
True 4,0
False 0,5
True 4,0
False 0,0

使用例へのリンクについては、「関連項目」セクションを参照してください。

メソッド

名前 説明
Fit(IDataView)

ITransformerをトレーニングして返します。

GetOutputSchema(SchemaShape)

トランスフォーマーによって生成されるスキーマの SchemaShape を返します。 パイプラインでのスキーマの伝達と検証に使用されます。

拡張メソッド

名前 説明
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

推定チェーンに "キャッシュ チェックポイント" を追加します。 これにより、ダウンストリーム推定器がキャッシュされたデータに対してトレーニングされるようになります。 複数のデータを受け取るトレーナーの前にキャッシュ チェックポイントを設定すると便利です。

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

推定器が指定された場合は、 Fit(IDataView) が呼び出されるとデリゲートを呼び出すラップ オブジェクトを返します。 多くの場合、推定器が適合した内容に関する情報を返すことが重要です。そのため、 Fit(IDataView) メソッドは一般的な ITransformerではなく、明示的に型指定されたオブジェクトを返します。 ただし、同時に、 IEstimator<TTransformer> は多くのオブジェクトを含むパイプラインに形成されることが多いため、トランスフォーマーを取得する推定器がこのチェーンのどこかに埋もれている EstimatorChain<TLastTransformer> を使用して、推定器のチェーンを構築する必要がある場合があります。 このシナリオでは、このメソッドを使用して、fit が呼び出されると呼び出されるデリゲートをアタッチできます。

適用対象

こちらもご覧ください