Share via


MutualInformationFeatureSelectingEstimator Klasse

Definition

Wählt die obersten k-Slots für alle angegebenen Spalten aus, die nach ihren gegenseitigen Informationen mit der Bezeichnungsspalte sortiert werden (was Sie über die Bezeichnung erfahren können, indem Sie den Wert der angegebenen Spalte beobachten).

public sealed class MutualInformationFeatureSelectingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.ITransformer>
type MutualInformationFeatureSelectingEstimator = class
    interface IEstimator<ITransformer>
Public NotInheritable Class MutualInformationFeatureSelectingEstimator
Implements IEstimator(Of ITransformer)
Vererbung
MutualInformationFeatureSelectingEstimator
Implementiert

Hinweise

Schätzereigenschaften

Muss sich dieser Schätzer die Daten ansehen, um seine Parameter zu trainieren? Yes
Eingabespaltendatentyp Vektor oder Skalar von numerischen, Text- oder Schlüsseldatentypen
Datentyp der Ausgabespalte Identisch mit der Eingabespalte
Exportierbar nach ONNX Yes

Formal kann die Transinformation folgendermaßen geschrieben werden:

$\text{MI}(X,Y) = E_{x,y}[\log(P(x,y)) - \log(P(x)) - \log(P(y)))]$ wobei $x$ und $y$ Beobachtungen von Zufallsvariablen $X$ und $Y$ sind.

wobei die Erwartung E die gemeinsame Verteilung von X und Y übernimmt. Hier ist P(x, y) die Gemeinsame Wahrscheinlichkeitsdichtefunktion von X und Y, P(x) und P(y) sind die marginalen Wahrscheinlichkeitsdichtefunktionen von X bzw. Y. Im Allgemeinen bedeutet eine höhere gegenseitige Information zwischen der abhängigen Variablen (oder Bezeichnung) und einer unabhängigen Variablen(oder Funktion), dass die Bezeichnung eine höhere gegenseitige Abhängigkeit von diesem Feature aufweist. Es behält die obersten Slots in Ausgabefeatures mit den größten gegenseitigen Informationen mit der Bezeichnung bei.

Wenn wir beispielsweise für die folgende Spalte Features und Bezeichnung angeben, dass die obersten 2 Slots (Vektorelemente) die höhere Korrelation mit der Bezeichnungsspalte aufweisen, bleibt bei der Ausgabe des Anwendens dieses Estimators nur der erste und der dritte Slots enthalten, da ihre Werte eher mit den Werten in der Label-Spalte korreliert sind.

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

So sieht das obige Dataset nach dem Anpassen des Schätzers und transformieren der Daten mit dem resultierenden Transformator aus:

Bezeichnung Features
True 4,0
False 0,5
True 4,0
False 0,0

Im Abschnitt Siehe auch finden Sie Links zu Verwendungsbeispielen.

Methoden

Fit(IDataView)

Trainiert und gibt einen zurück ITransformer.

GetOutputSchema(SchemaShape)

Gibt das SchemaShape des Schemas zurück, das vom Transformator erzeugt wird. Wird für die Schemaweitergabe und -überprüfung in einer Pipeline verwendet.

Erweiterungsmethoden

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Fügen Sie der Schätzungskette einen Zwischenspeicherungsprüfpunkt an. Dadurch wird sichergestellt, dass die nachgelagerten Schätzer für zwischengespeicherte Daten trainiert werden. Es ist hilfreich, vor Trainern, die mehrere Datendurchläufe durchführen, einen Zwischenspeicherungsprüfpunkt zu haben.

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

Geben Sie bei einem Schätzer ein umschließendes Objekt zurück, das nach Fit(IDataView) dem Aufruf einen Delegaten aufruft. Es ist oft wichtig, dass ein Schätzer Informationen darüber zurückgibt, was geeignet war. Daher gibt die Fit(IDataView) Methode ein speziell typisiertes Objekt zurück, anstatt nur ein allgemeines ITransformer. Zur gleichen Zeit IEstimator<TTransformer> werden jedoch häufig Pipelines mit vielen Objekten gebildet, sodass wir möglicherweise eine Kette von Schätzern erstellen müssen, über EstimatorChain<TLastTransformer> die der Schätzer, für den wir den Transformator erhalten möchten, irgendwo in dieser Kette vergraben ist. Für dieses Szenario können wir über diese Methode einen Delegaten anfügen, der aufgerufen wird, sobald fit aufgerufen wird.

Gilt für:

Weitere Informationen