MutualInformationFeatureSelectingEstimator Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Sélectionne les emplacements k supérieurs sur toutes les colonnes spécifiées classées par leurs informations mutuelles avec la colonne d’étiquette (ce que vous pouvez découvrir sur l’étiquette en observant la valeur de la colonne spécifiée).
public sealed class MutualInformationFeatureSelectingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.ITransformer>
type MutualInformationFeatureSelectingEstimator = class
interface IEstimator<ITransformer>
Public NotInheritable Class MutualInformationFeatureSelectingEstimator
Implements IEstimator(Of ITransformer)
- Héritage
-
MutualInformationFeatureSelectingEstimator
- Implémente
Remarques
Caractéristiques de l’estimateur
| Cet estimateur doit-il examiner les données pour entraîner ses paramètres ? | Oui |
| Type de données de colonne d’entrée | Vecteur ou scalaire de types de données numériques, texte ou clé |
| Type de données de colonne de sortie | Identique à la colonne d’entrée |
| Exportable vers ONNX | Oui |
Formellement, les informations mutuelles peuvent être écrites comme suit :
$\text{MI}(X,Y) = E_{x,y}[\log(P(x,y)) - \log(P(x)) - \log(P(y))]$ où $x$ et $y$ sont des observations de variables aléatoires $X$ et $Y$.
où l’attente E est prise sur la distribution conjointe de X et Y. Ici, P(x, y) est la fonction de densité de probabilité conjointe de X et Y, P(x) et P(y) sont respectivement les fonctions de densité de probabilité marginale de X et Y. En général, une information mutuelle plus élevée entre la variable dépendante (ou l’étiquette) et une variable indépendante (ou fonctionnalité) signifie que l’étiquette a une dépendance mutuelle plus élevée sur cette fonctionnalité. Il conserve les emplacements principaux dans les fonctionnalités de sortie avec les informations mutuelles les plus importantes avec l’étiquette.
Par exemple, pour la colonne Caractéristiques et Étiquette suivante, si nous spécifions que nous voulons que les 2 premiers emplacements (éléments vectoriels) ayant la corrélation la plus élevée avec la colonne d’étiquette, la sortie de l’application de cet estimateur conserverait les premiers et les troisième emplacements uniquement, car leurs valeurs sont plus corrélées avec les valeurs de la colonne Étiquette.
| Étiquette | Fonctionnalités |
|---|---|
| True | 4,6,0 |
| Faux | 0,7,5 |
| True | 4,7,0 |
| Faux | 0,7,0 |
Voici comment le jeu de données ci-dessus se présente, après avoir ajusté l’estimateur et transformé les données avec le transformateur résultant :
| Étiquette | Fonctionnalités |
|---|---|
| True | 4,0 |
| Faux | 0,5 |
| True | 4,0 |
| Faux | 0,0 |
Consultez la section Voir aussi pour obtenir des liens vers des exemples d’utilisation.
Méthodes
| Nom | Description |
|---|---|
| Fit(IDataView) |
Effectue l’apprentissage et retourne un ITransformer. |
| GetOutputSchema(SchemaShape) |
Retourne le SchemaShape schéma qui sera produit par le transformateur. Utilisé pour la propagation et la vérification du schéma dans un pipeline. |
Méthodes d’extension
| Nom | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Ajoutez un « point de contrôle de mise en cache » à la chaîne d’estimateur. Cela garantit que les estimateurs en aval seront entraînés par rapport aux données mises en cache. Il est utile d’avoir un point de contrôle de mise en cache avant les formateurs qui prennent plusieurs passes de données. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
En fonction d’un estimateur, retournez un objet de création de package de restrictions qui appellera un délégué une fois Fit(IDataView) appelé. Il est souvent important pour un estimateur de retourner des informations sur ce qui était adapté, c’est pourquoi la Fit(IDataView) méthode retourne un objet spécifiquement typé, plutôt que simplement un général ITransformer. Toutefois, en même temps, IEstimator<TTransformer> sont souvent formés en pipelines avec de nombreux objets, nous devrons peut-être construire une chaîne d’estimateurs via EstimatorChain<TLastTransformer> laquelle l’estimateur pour lequel nous voulons obtenir le transformateur est enterré quelque part dans cette chaîne. Pour ce scénario, nous pouvons par le biais de cette méthode attacher un délégué qui sera appelé une fois l’ajustement appelé. |