PairwiseCouplingTrainer Classe

Definição

Para IEstimator<TTransformer> treinar um classificador de várias classes de acoplamento par que usa o classificador binário 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)
Herança

Comentários

Para criar este treinador, use PairwiseCoupling.

Colunas de entrada e saída

Os dados da coluna do rótulo de entrada devem ser de tipo de chave e a coluna de recurso deve ser um vetor de tamanho conhecido.Single

Este treinador gera as seguintes colunas:

Nome da coluna de saída Tipo de Coluna Descrição
Score Vetor de Single As pontuações de todas as classes. Valor mais alto significa maior probabilidade de cair na classe associada. Se o elemento i-th tiver o maior valor, o índice de rótulo previsto seria i. Observe que eu é um índice baseado em zero.
PredictedLabel Tipo de chave O índice do rótulo previsto. Se o valor for i, o rótulo real será a categoria i-th no tipo de rótulo de entrada com valor de chave.

Características do Treinador

Tarefa de machine learning Classificação multiclasse
A normalização é necessária? Depende do classificador binário subjacente
O cache é necessário? Yes
NuGet necessário além de Microsoft.ML None
Exportável para ONNX No

Detalhes do algoritmo de treinamento

Nessa estratégia, um algoritmo de classificação binária é treinado em cada par de classes. Os pares não são ordenados, mas criados com substituição: portanto, se houvesse três classes, 0, 1, 2, treinaríamos classificadores para os pares (0,0), (0,1), (0,2), (1,1), (1,2) e (2,2). Para cada classificador binário, um ponto de dados de entrada será considerado um exemplo positivo se ele estiver em uma das duas classes do par e um exemplo negativo de outra forma. No momento da previsão, as probabilidades para cada par de classes são consideradas como a probabilidade de estar em qualquer classe do par dado os dados, e as probabilidades preditivas finais de cada classe são calculadas dada a probabilidade de que um exemplo esteja em um determinado par.

Isso pode permitir que você explore treinadores que não têm naturalmente uma opção multiclasse, por exemplo, usando o FastTreeBinaryTrainer para resolver um problema de várias classes. Como alternativa, ele pode permitir que ML.NET resolva um problema "mais simples", mesmo nos casos em que o treinador tem uma opção multiclasse, mas usá-lo diretamente não é prático devido, geralmente, a restrições de memória. Por exemplo, embora uma regressão logística multiclasse seja uma maneira mais com princípios para resolver um problema de várias classes, isso requer que o treinador armazene um estado muito mais intermediário na forma de histórico L-BFGS para todas as classes simultaneamente, em vez de apenas um por um, como seria necessário para um modelo de classificação de acoplamento par.

Verifique a seção Consulte Também para obter links para exemplos de uso.

Propriedades

Nome Description
Info

Para IEstimator<TTransformer> treinar um classificador de várias classes de acoplamento par que usa o classificador binário especificado.

(Herdado de MetaMulticlassTrainer<TTransformer,TModel>)

Métodos

Nome Description
Fit(IDataView)

Ajusta os dados ao transformador

GetOutputSchema(SchemaShape)

Obtém as colunas de saída.

(Herdado de MetaMulticlassTrainer<TTransformer,TModel>)

Métodos de Extensão

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

Acrescente um 'ponto de verificação de cache' à cadeia do avaliador. Isso garantirá que os avaliadores downstream serão treinados em relação aos dados armazenados em cache. É útil ter um ponto de verificação de cache antes dos treinadores que têm várias passagens de dados.

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

Dado um avaliador, retorne um objeto de encapsulamento que chamará um delegado uma vez Fit(IDataView) chamado. Geralmente, é importante que um avaliador retorne informações sobre o que estava em forma, e é por isso que o Fit(IDataView) método retorna um objeto especificamente tipado, em vez de apenas um geral ITransformer. No entanto, ao mesmo tempo, IEstimator<TTransformer> muitas vezes são formados em pipelines com muitos objetos, portanto, talvez seja necessário criar uma cadeia de avaliadores por meio EstimatorChain<TLastTransformer> de onde o avaliador para o qual queremos obter o transformador está enterrado em algum lugar nessa cadeia. Para esse cenário, podemos por meio desse método anexar um delegado que será chamado assim que o ajuste for chamado.

Aplica-se a

Confira também