MutualInformationFeatureSelectingEstimator クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ラベル列との相互情報で並べ替えられた、指定されたすべての列の上位 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 が呼び出されると呼び出されるデリゲートをアタッチできます。 |