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 k premiers emplacements sur toutes les colonnes spécifiées, classées par leurs informations mutuelles avec la colonne d’étiquette (ce que vous pouvez apprendre 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 effectuer l’apprentissage de ses paramètres ? | Yes |
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 | Yes |
Formellement, l'information mutuelle peut s'écrire de la façon suivante :
$\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 en charge de la distribution conjointe de X et Y. Ici P(x, y) est la fonction de densité de probabilité commune de X et Y, P(x) et P(y) sont les fonctions de densité de probabilité marginale de X et Y respectivement. En général, une information mutuelle plus élevée entre la variable dépendante(ou l’étiquette) et une variable(ou fonctionnalité) indépendante signifie que l’étiquette a une dépendance mutuelle plus élevée par rapport à cette fonctionnalité. Il conserve les meilleurs emplacements dans les fonctionnalités de sortie avec les informations mutuelles les plus volumineuses avec l’étiquette.
Par exemple, pour la colonne Caractéristiques et Étiquette suivante, si nous spécifions que nous voulons les 2 premiers emplacements (éléments vectoriels) qui ont la corrélation la plus élevée avec la colonne d’étiquette, la sortie de l’application de cet estimateur conservera les premier et troisième emplacements uniquement, car leurs valeurs sont plus corrélées avec les valeurs de la colonne Label.
Étiquette | Fonctionnalités |
---|---|
True | 4,6,0 |
False | 0,7,5 |
True | 4,7,0 |
Faux | 0,7,0 |
Voici à quoi ressemblerait le jeu de données ci-dessus, 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
Fit(IDataView) |
Entraîne et retourne un ITransformer. |
GetOutputSchema(SchemaShape) |
Retourne le SchemaShape du 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
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Ajoutez un « point de contrôle de mise en cache » à la chaîne de l’estimateur. Cela garantit que les estimateurs en aval seront entraînés sur les données mises en cache. Il est utile d’avoir un point de contrôle de mise en cache avant les formateurs qui effectuent plusieurs passes de données. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Avec un estimateur, retournez un objet d’habillage 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 qu’un simple général ITransformer. Toutefois, dans le même temps, IEstimator<TTransformer> sont souvent formés dans des pipelines avec de nombreux objets, nous devrons donc créer une chaîne d’estimateurs par le biais EstimatorChain<TLastTransformer> de l’emplacement où 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 que fit est appelé. |