Condividi tramite


FastTreeRankingTrainer Classe

Definizione

Oggetto per il training di un modello di classificazione dell'albero IEstimator<TTransformer> delle decisioni 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)
Ereditarietà

Commenti

Per creare questo trainer, usare FastTree o FastTree(Options).

Colonne di input e output

Il tipo di dati dell'etichetta di input deve essere key o Single. Il valore dell'etichetta determina la pertinenza, dove valori più alti indicano maggior pertinenza. Se l'etichetta è un tipo key, l'indice di chiave è il valore di pertinenza, dove l'indice più basso è il meno pertinente. Se l'etichetta è un tipo Single, valori più alti indicano maggior pertinenza. La colonna di funzionalità deve essere un vettore di dimensioni note di e la colonna del gruppo di righe di Single input deve essere di tipo chiave .

Questo formatore restituisce le colonne seguenti:

Nome colonna di output Tipo di colonna Descrizione
Score Single Punteggio non associato calcolato dal modello per determinare la stima.

Caratteristiche del trainer

Attività di Machine Learning Classificazione
È necessaria la normalizzazione? No
È necessaria la memorizzazione nella cache? No
NuGet richiesto oltre a Microsoft.ML Microsoft.ML.FastTree
Esportabile in ONNX No

Dettagli dell'algoritmo di training

FastTree è un'implementazione efficiente dell'algoritmo di aumento della sfumatura MART . L'incremento dei gradienti è una tecnica di apprendimento automatico per i problemi di regressione. Crea ogni albero di regressione in maniera graduale, usando una funzione di perdita predefinita per misurare l'errore di ogni passaggio e correggerlo nel passaggio successivo. Questo modello di previsione è effettivamente costituito da un insieme di modelli di previsione più deboli. Nei problemi di regressione, il boosting crea una serie di tali alberi in maniera graduale e quindi seleziona l'albero ottimale usando una funzione di perdita differenziabile arbitraria.

L'algoritmo MART apprende un insieme di alberi di regressione, ovvero un albero delle decisioni con valori scalari nelle foglie. Un albero delle decisioni, o di regressione, è un diagramma di flusso analogo a un albero binario, in cui, in corrispondenza di ogni nodo interno, si decide con quale dei due nodi figlio proseguire, in base a uno dei valori di funzionalità dell'input. A ogni nodo foglia viene restituito un valore. Nei nodi interni, la decisione si basa sul test x <= v dove x è il valore della funzionalità nell'esempio di input e v è uno dei valori possibili di questa funzionalità. Le funzioni che possono essere generate da un albero di regressione sono tutte le funzioni costanti a tratti.

L'insieme di alberi viene prodotto calcolando a ogni passaggio un albero di regressione che fornisce un'approssimazione del gradiente della funzione di perdita e aggiungendo tale albero a quello precedente con coefficienti che riducono al minimo la perdita del nuovo albero. L'output dell'insieme prodotto da MART in un'istanza specifica è la somma degli output degli alberi.

  • Nel caso di un problema di classificazione binaria, l'output viene convertito in una probabilità mediante una qualche forma di calibrazione.
  • Nel caso di un problema di regressione, l'output corrisponde al valore previsto della funzione.
  • Nel caso di un problema di classificazione, le istanze vengono ordinate in base al valore di output dell'insieme.

Per altre informazioni, vedere:

Controllare la sezione Vedere anche per i collegamenti ad esempi dell'utilizzo.

Campi

FeatureColumn

Colonna di funzionalità prevista dal trainer.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)
GroupIdColumn

Colonna groupID facoltativa prevista dal formatore di classificazione.

(Ereditato da TrainerEstimatorBaseWithGroupId<TTransformer,TModel>)
LabelColumn

Colonna etichetta prevista dal trainer. Può essere null, che indica che l'etichetta non viene usata per il training.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)
WeightColumn

Colonna di peso prevista dal trainer. Può essere null, che indica che il peso non viene usato per il training.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)

Proprietà

Info

Oggetto per il training di un modello di classificazione dell'albero IEstimator<TTransformer> delle decisioni usando FastTree.

(Ereditato da FastTreeTrainerBase<TOptions,TTransformer,TModel>)

Metodi

Fit(IDataView, IDataView)

Esegue il training di un oggetto FastTreeRankingTrainer usando i dati di training e di convalida, restituisce un RankingPredictionTransformer<TModel>oggetto .

Fit(IDataView)

Esegue il training e restituisce un ITransformeroggetto .

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)
GetOutputSchema(SchemaShape)

Oggetto per il training di un modello di classificazione dell'albero IEstimator<TTransformer> delle decisioni usando FastTree.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)

Metodi di estensione

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

Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. Ciò garantisce che gli estimatori downstream vengano sottoposti a training sui dati memorizzati nella cache. È utile avere un checkpoint di memorizzazione nella cache prima dei training che accettano più passaggi di dati.

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

Dato un stimatore, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. Spesso è importante che un stimatore restituisca informazioni su ciò che è stato adatto, che è il motivo per cui il Fit(IDataView) metodo restituisce un oggetto tipizzato in modo specifico, anziché solo un oggetto generale ITransformer. Tuttavia, allo stesso tempo, IEstimator<TTransformer> sono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di stima tramite EstimatorChain<TLastTransformer> dove lo stimatore per cui si vuole ottenere il trasformatore è sepolto da qualche parte in questa catena. Per questo scenario, è possibile collegare questo metodo a un delegato che verrà chiamato una volta chiamato fit.

Si applica a

Vedi anche