Compartir a través de


PairwiseCouplingTrainer Clase

Definición

para IEstimator<TTransformer> entrenar un clasificador de varias clases de acoplamiento en pares que usa el clasificador binario especificado.

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)
Herencia

Comentarios

Para crear este instructor, use PairwiseCoupling.

Columnas de entrada y salida

Los datos de columna de etiqueta de entrada deben ser de tipo clave y la columna de característica debe ser un vector de tamaño conocido de Single.

Este instructor genera las siguientes columnas:

Nombre de columna de salida Tipo de columna Descripción
Score Vector de Single Puntuaciones de todas las clases. Un valor más alto indica mayor probabilidad de que caigan en la clase asociada. Si el elemento i-th tiene el valor más grande, el índice de la etiqueta de predicción sería i. Tenga en cuenta que i es el índice de base cero.
PredictedLabel Tipo de clave Índice de la etiqueta de predicción. Si su valor es i, la etiqueta real sería la categoría de i-th en el tipo de etiqueta de entrada con valores de clave.

Características del entrenador

Tarea de Machine Learning Clasificación multiclase
¿Se requiere normalización? Depende del clasificador binario subyacente
¿Se requiere el almacenamiento en caché?
NuGet necesario además de Microsoft.ML None
Exportable a ONNX No

Detalles del algoritmo de entrenamiento

En esta estrategia, se entrena un algoritmo de clasificación binaria en cada par de clases. Los pares no están ordenados pero se crean con reemplazo: por lo tanto, si hubiera tres clases, 0, 1, 2, entrenaríamos clasificadores para los pares (0,0), (0,1), (0,2), (1,1), (1,2) y (2,2). Para cada clasificador binario, un punto de datos de entrada se considera un ejemplo positivo si se encuentra en cualquiera de las dos clases del par y en un ejemplo negativo de lo contrario. En el momento de la predicción, las probabilidades de cada par de clases se consideran la probabilidad de estar en cualquiera de las clases del par dadas los datos y se calculan las probabilidades predictivas finales de ese par por clase dada la probabilidad de que un ejemplo esté en cualquier par determinado.

Esto puede permitirle aprovechar entrenadores que no tienen naturalmente una opción multiclase, por ejemplo, mediante el uso de FastTreeBinaryTrainer para resolver un problema de varias clases. Como alternativa, puede permitir que ML.NET resolver un problema "más sencillo" incluso en los casos en los que el instructor tenga una opción de varias clases, pero usarlo directamente no es práctico debido a restricciones de memoria, normalmente. Por ejemplo, mientras que una regresión logística multiclase es una manera más básica de resolver un problema de varias clases, requiere que el instructor almacene mucho más estado intermedio en forma de historial de L-BFGS para todas las clases simultáneamente, en lugar de solo uno a uno, como sería necesario para un modelo de clasificación de acoplamiento en pares.

Consulte la sección Consulte también los vínculos a ejemplos de uso.

Propiedades

Info

para IEstimator<TTransformer> entrenar un clasificador de varias clases de acoplamiento en pares que usa el clasificador binario especificado.

(Heredado de MetaMulticlassTrainer<TTransformer,TModel>)

Métodos

Fit(IDataView)

Ajusta los datos al transformador

GetOutputSchema(SchemaShape)

Obtiene las columnas de salida.

(Heredado de MetaMulticlassTrainer<TTransformer,TModel>)

Métodos de extensión

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

Anexe un "punto de control de almacenamiento en caché" a la cadena del estimador. Esto garantizará que los estimadores de nivel inferior se entrenarán con los datos almacenados en caché. Resulta útil tener un punto de control de almacenamiento en caché antes de que los instructores tomen varios pases de datos.

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

Dado un estimador, devuelva un objeto de ajuste que llamará a un delegado una vez Fit(IDataView) que se llame. A menudo, es importante que un estimador devuelva información sobre lo que cabe, por lo que el Fit(IDataView) método devuelve un objeto con tipo específico, en lugar de simplemente un general ITransformer. Sin embargo, al mismo tiempo, IEstimator<TTransformer> a menudo se forman en canalizaciones con muchos objetos, por lo que es posible que tengamos que crear una cadena de estimadores a través EstimatorChain<TLastTransformer> de donde el estimador para el que queremos obtener el transformador está enterrado en algún lugar de esta cadena. En ese escenario, podemos a través de este método adjuntar un delegado al que se llamará una vez que se llame a fit.

Se aplica a

Consulte también