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 列の値とより相関しているためです。

ラベル フィーチャー
True 4,6,0
False 0,7,5
True 4,7,0
False 0,7,0

上記のデータセットは、推定器を適合させ、結果のトランスフォーマーを使用してデータを変換した後に、次のように表示されます。

ラベル フィーチャー
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 が呼び出されると呼び出されるデリゲートをアタッチできます。

適用対象

こちらもご覧ください