PairwiseCouplingTrainer Classe

Définition

Pour IEstimator<TTransformer> l’entraînement d’un classifieur à classes multiples couplés qui utilise le classifieur binaire spécifié.

public sealed class PairwiseCouplingTrainer : Microsoft.ML.Trainers.MetaMulticlassTrainer<Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.PairwiseCouplingModelParameters>,Microsoft.ML.Trainers.PairwiseCouplingModelParameters>
type PairwiseCouplingTrainer = class
    inherit MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>, PairwiseCouplingModelParameters>
Public NotInheritable Class PairwiseCouplingTrainer
Inherits MetaMulticlassTrainer(Of MulticlassPredictionTransformer(Of PairwiseCouplingModelParameters), PairwiseCouplingModelParameters)
Héritage

Remarques

Pour créer ce formateur, utilisez PairwiseCoupling.

Colonnes d’entrée et de sortie

Les données de colonne d’étiquette d’entrée doivent être de type clé et la colonne de caractéristique doit être un vecteur de taille connue de Single.

Cet entraîneur génère les colonnes suivantes :

Nom de la colonne de sortie Type de colonne Description
Score Vecteur de Single Scores de toutes les classes. Une valeur supérieure signifie une probabilité plus élevée de tomber dans la classe associée. Si l’i-ième élément a la plus grande valeur, l’index d’étiquette prédit est i. Notez que i est un index de base zéro.
PredictedLabel Type de clé Index de l’étiquette prédite. Si sa valeur est i, l’étiquette réelle est la i-ième catégorie dans le type d’étiquette d’entrée clé-valeur.

Caractéristiques de l’entraîneur

Tâche Machine Learning Classification multiclasse
La normalisation est-elle nécessaire ? Dépend du classifieur binaire sous-jacent
La mise en cache est-elle requise ? Oui
NuGet requis en plus de Microsoft.ML None
Exportable vers ONNX Non

Détails de l’algorithme d’apprentissage

Dans cette stratégie, un algorithme de classification binaire est formé sur chaque paire de classes. Les paires sont non ordonnées mais créées avec remplacement : donc, si trois classes, 0, 1, 2, nous entraînerions des classifieurs pour les paires (0,0), (0,1), (0,2), (0,2), (1,1), (1,2) et (2,2). Pour chaque classifieur binaire, un point de données d’entrée est considéré comme un exemple positif s’il se trouve dans l’une des deux classes de la paire, et un exemple négatif dans le cas contraire. Au moment de la prédiction, les probabilités pour chaque paire de classes sont considérées comme la probabilité d’être dans l’une ou l’autre classe de la paire en fonction des données, et les probabilités prédictives finales en dehors de cette classe sont calculées en fonction de la probabilité qu’un exemple se trouve dans une paire donnée.

Cela peut vous permettre d’exploiter des formateurs qui n’ont pas naturellement d’option multiclasse, par exemple, en utilisant l’outil FastTreeBinaryTrainer pour résoudre un problème multiclasse. Il peut également permettre à ML.NET de résoudre un problème « plus simple », même dans les cas où l’entraîneur dispose d’une option multiclasse, mais l’utilisation directe n’est pas pratique en raison, généralement, de contraintes de mémoire. Par exemple, alors qu’une régression logistique multiclasse est un moyen plus fondamental de résoudre un problème multiclasse, il faut que l’entraîneur stocke beaucoup plus d’état intermédiaire sous la forme de l’historique L-BFGS pour toutes les classes simultanément, au lieu d’un seul par un, comme cela serait nécessaire pour un modèle de classification de couplage avec paire.

Consultez la section Voir aussi pour obtenir des liens vers des exemples d’utilisation.

Propriétés

Nom Description
Info

Pour IEstimator<TTransformer> l’entraînement d’un classifieur à classes multiples couplés qui utilise le classifieur binaire spécifié.

(Hérité de MetaMulticlassTrainer<TTransformer,TModel>)

Méthodes

Nom Description
Fit(IDataView)

Adapte les données au transformateur

GetOutputSchema(SchemaShape)

Obtient les colonnes de sortie.

(Hérité de MetaMulticlassTrainer<TTransformer,TModel>)

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é.

S’applique à

Voir aussi