PairwiseCouplingTrainer Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
-
MetaMulticlassTrainer<MulticlassPredictionTransformer<PairwiseCouplingModelParameters>,PairwiseCouplingModelParameters>PairwiseCouplingTrainer
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 do tipo chave e a coluna de recurso deve ser um vetor de tamanho conhecido de 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. Um valor mais alto significa maior probabilidade de se enquadrar na classe associada. Se o elemento iº elemento tiver o maior valor, o índice de rótulo previsto será i. Observe que i é o índice baseado em zero. |
PredictedLabel |
tipo de chave | O índice do rótulo previsto. Se seu valor for i, o rótulo real será a iº categoria no tipo de rótulo de entrada com valor de chave. |
Características do Treinador
Ferramenta de machine learning | Classificação multiclasse |
A normalização é necessária? | Depende do classificador binário subjacente |
O cache é necessário? | Sim |
NuGet necessário além de Microsoft.ML | Nenhum |
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 estiver em qualquer uma das duas classes do par e um exemplo negativo de outra forma. No tempo de 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 fora desse par por 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 de 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 de várias classes, 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 de resolver um problema de várias classes, ela exige 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
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
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
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Acrescente um "ponto de verificação de cache" à cadeia de estimativas. Isso garantirá que os estimadores 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 fazem várias passagens de dados. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dado um estimador, retorne um objeto de encapsulamento que chamará um delegado uma vez Fit(IDataView) chamado. Geralmente, é importante que um estimador 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 construir uma cadeia de estimadores por meio EstimatorChain<TLastTransformer> de onde o estimador para o qual queremos que o transformador seja enterrado em algum lugar nesta cadeia. Para esse cenário, podemos por meio desse método anexar um delegado que será chamado quando fit for chamado. |