Compartilhar via


FastTreeRankingTrainer Classe

Definição

Para IEstimator<TTransformer> treinar um modelo de classificação de árvore de decisão usando FastTree.

public sealed class FastTreeRankingTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options,Microsoft.ML.Data.RankingPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters>
type FastTreeRankingTrainer = class
    inherit BoostingFastTreeTrainerBase<FastTreeRankingTrainer.Options, RankingPredictionTransformer<FastTreeRankingModelParameters>, FastTreeRankingModelParameters>
Public NotInheritable Class FastTreeRankingTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRankingTrainer.Options, RankingPredictionTransformer(Of FastTreeRankingModelParameters), FastTreeRankingModelParameters)
Herança

Comentários

Para criar esse treinador, use FastTree ou FastTree(Options).

Colunas de entrada e saída

O tipo de dados de rótulo de entrada deve ser do tipo chave ou Single. O valor do rótulo determina a relevância, em que valores mais altos indicam maior relevância. Se o rótulo for um tipo chave, o índice de chave será o valor de relevância, em que o menor índice é o menos relevante. Se o rótulo for um Single, valores maiores indicarão maior relevância. A coluna de recurso deve ser um vetor de tamanho conhecido e a coluna do grupo de linhas de Single entrada deve ser do tipo chave .

Este treinador gera as seguintes colunas:

Nome da Coluna de Saída Tipo de coluna Descrição
Score Single A pontuação não associada calculada pelo modelo para determinar a previsão.

Características do Treinador

Ferramenta de machine learning Classificação
A normalização é necessária? No
O cache é necessário? No
NuGet necessário além de Microsoft.ML Microsoft.ML.FastTree
Exportável para ONNX No

Detalhes do algoritmo de treinamento

FastTree é uma implementação eficiente do algoritmo de aumento de gradiente MART . O aumento de gradiente é uma técnica de aprendizado de máquina para problemas de regressão. Ele cria cada árvore de regressão por etapas usando uma função de perda predefinida para medir o erro em cada etapa e corrigi-lo na próxima. Portanto, o modelo de previsão é na verdade um conjunto de modelos de previsão mais fracos. Nos problemas de regressão, o aumento cria uma série dessas árvores por etapas e seleciona a árvore ideal usando uma função de perda diferenciável arbitrária.

O MART aprende um conjunto de árvores de regressão, que é uma árvore de decisão com valores escalares nas folhas. Uma árvore de decisão (ou de regressão) é um fluxograma semelhante a uma árvore binária, na qual em cada nó interior é decidido para qual dos dois nós filho o processo deve continuar com base em um dos valores de recurso da entrada. Em cada nó folha, um valor é retornado. Nos nós interiores, a decisão se baseia no teste x <= v, onde x é o valor do recurso no exemplo de entrada e v é um dos valores possíveis desse recurso. As funções que podem ser produzidas por uma árvore de regressão são constante funções de partes.

O conjunto de árvores é produzido por computação, em cada etapa, uma árvore de regressão que aproxima o gradiente da função de perda e o adiciona à árvore anterior com coeficientes que minimizam a perda da nova árvore. A saída do ensemble produzido por MART em uma determinada instância é a soma das saídas da árvore.

  • No caso de um problema de classificação binária, a saída é convertida em uma probabilidade usando alguma forma de calibragem.
  • No caso de um problema de regressão, a saída é o valor previsto da função.
  • No caso de um problema de classificação, as instâncias são ordenadas pelo valor de saída do conjunto.

Para obter mais informações, consulte:

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

Campos

FeatureColumn

A coluna de recursos que o treinador espera.

(Herdado de TrainerEstimatorBase<TTransformer,TModel>)
GroupIdColumn

A coluna groupID opcional que os treinadores de classificação esperam.

(Herdado de TrainerEstimatorBaseWithGroupId<TTransformer,TModel>)
LabelColumn

A coluna de rótulo que o treinador espera. Pode ser null, o que indica que o rótulo não é usado para treinamento.

(Herdado de TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

A coluna de peso que o treinador espera. Pode ser null, o que indica que o peso não é usado para treinamento.

(Herdado de TrainerEstimatorBase<TTransformer,TModel>)

Propriedades

Info

Para IEstimator<TTransformer> treinar um modelo de classificação de árvore de decisão usando FastTree.

(Herdado de FastTreeTrainerBase<TOptions,TTransformer,TModel>)

Métodos

Fit(IDataView, IDataView)

Treina um FastTreeRankingTrainer uso de dados de treinamento e validação, retorna um RankingPredictionTransformer<TModel>.

Fit(IDataView)

Treina e retorna um ITransformer.

(Herdado de TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Para IEstimator<TTransformer> treinar um modelo de classificação de árvore de decisão usando FastTree.

(Herdado de TrainerEstimatorBase<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.

Aplica-se a

Confira também