PairwiseCouplingTrainer 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.
Pour IEstimator<TTransformer> entraîner un classifieur à plusieurs classes jumelées 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
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
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.
Ce formateur génère les colonnes suivantes :
Nom de colonne de sortie | Type de colonne | Description |
---|---|---|
Score |
Vecteur de Single | Les scores de toutes les classes. Une valeur supérieure signifie une plus forte probabilité d’appartenir à la classe associée. Si l’i-ème élément a la plus grande valeur, l’index de l’étiquette prédite est i. Notez que i est l’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-ème catégorie dans le type d’étiquette d’entrée avec une valeur de clé. |
Caractéristiques de l’entraîneur
Tâche d’apprentissage automatique | 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 | Aucun |
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 ne sont pas triées mais créées avec remplacement : par conséquent, si trois classes, 0, 1, 2, nous entraînerions des classifieurs pour les paires (0,0), (0,1), (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 hors 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 les formateurs qui n’ont pas naturellement une option multiclasse, par exemple, en utilisant la FastTreeBinaryTrainer solution d’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 son utilisation directe n’est pas pratique en raison, généralement, de contraintes de mémoire. Par exemple, bien qu’une régression logistique multiclasse soit une méthode plus fondée sur le principe pour résoudre un problème multiclasse, il faut que le formateur stocke beaucoup plus d’état intermédiaire sous la forme de l’historique L-BFGS pour toutes les classes simultanément, plutôt que d’un seul par un, comme cela serait nécessaire pour un modèle de classification de couplage par paire.
Consultez la section Voir aussi pour obtenir des liens vers des exemples d’utilisation.
Propriétés
Info |
Pour IEstimator<TTransformer> entraîner un classifieur à plusieurs classes jumelées qui utilise le classifieur binaire spécifié. (Hérité de MetaMulticlassTrainer<TTransformer,TModel>) |
Méthodes
Fit(IDataView) |
Ajuste les données au transformateur |
GetOutputSchema(SchemaShape) |
Obtient les colonnes de sortie. (Hérité de MetaMulticlassTrainer<TTransformer,TModel>) |
Méthodes d’extension
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>) |
Étant donné 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 qu’un estimateur retourne 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 pouvons donc avoir besoin de créer une chaîne d’estimateurs par EstimatorChain<TLastTransformer> le biais de 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é. |