FastTreeRegressionTrainer Classe

Definizione

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

public sealed class FastTreeRegressionTrainer : Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase<Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer.Options,Microsoft.ML.Data.RegressionPredictionTransformer<Microsoft.ML.Trainers.FastTree.FastTreeRegressionModelParameters>,Microsoft.ML.Trainers.FastTree.FastTreeRegressionModelParameters>
type FastTreeRegressionTrainer = class
    inherit BoostingFastTreeTrainerBase<FastTreeRegressionTrainer.Options, RegressionPredictionTransformer<FastTreeRegressionModelParameters>, FastTreeRegressionModelParameters>
Public NotInheritable Class FastTreeRegressionTrainer
Inherits BoostingFastTreeTrainerBase(Of FastTreeRegressionTrainer.Options, RegressionPredictionTransformer(Of FastTreeRegressionModelParameters), FastTreeRegressionModelParameters)
Ereditarietà

Commenti

Per creare questo formatore, usare FastTree o FastTree (Options).To create this trainer, use FastTree or FastTree(Options).

Colonne di input e output

I dati della colonna dell'etichetta di input devono essere Single. I dati delle colonne delle funzionalità di input devono essere un vettore di dimensioni note di Single.

Questo formatore restituisce le colonne seguenti:

Nome colonna di output Tipo di colonna Descrizione
Score Single Punteggio non associato stimato dal modello.

Caratteristiche del formatore

Attività di Machine Learning Regressione
La normalizzazione è necessaria? No
La memorizzazione nella cache è necessaria? No
NuGet richiesto oltre a Microsoft.ML Microsoft.ML.FastTree
Esportabile in ONNX

Dettagli algoritmo di training

FastTree è un'implementazione efficiente dell'algoritmo di boosting del gradiente MART . L'incremento dei gradienti è una tecnica di apprendimento automatico per i problemi di regressione. Compila ogni albero di regressione in modo dettagliato, usando una funzione di perdita predefinita per misurare l'errore per ogni passaggio e correggerlo nel successivo. Pertanto, questo modello di stima è in realtà un insieme di modelli di stima più deboli. Nei problemi di regressione, l'aumento della priorità crea una serie di alberi di questo tipo in modo dettagliato e quindi seleziona l'albero ottimale usando una funzione di perdita arbitraria differenziabile.

MART apprende un insieme di alberi di regressione, ovvero un albero delle decisioni con valori scalari nelle foglie. Un albero delle decisioni (o regressione) è un grafico di flusso ad albero binario, in cui in ogni nodo interno uno decide quale dei due nodi figlio continuare a usare in base a uno dei valori di funzionalità dell'input. In 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 tramite il calcolo, in ogni passaggio, un albero di regressione che approssima la sfumatura della funzione di perdita e lo aggiunge all'albero 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.

  • In caso di problema di classificazione binaria, l'output viene convertito in una probabilità usando una qualche forma di calibrazione.
  • In caso di problema di regressione, l'output è il valore stimato della funzione.
  • In caso di problema di classificazione, le istanze vengono ordinate in base al valore di output dell'ensemble.

Per altre informazioni, vedere:

Vedere la sezione Vedere anche per i collegamenti ad esempi di utilizzo.

Campi

FeatureColumn

Colonna di funzionalità prevista dal formatore.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)
GroupIdColumn

Colonna groupID facoltativa prevista dal formatore di classificazione.

(Ereditato da TrainerEstimatorBaseWithGroupId<TTransformer,TModel>)
LabelColumn

Colonna dell'etichetta prevista dal formatore. 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 formatore. Può essere null, che indica che il peso non viene usato per il training.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)

Proprietà

Info

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

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

Metodi

Fit(IDataView)

Esegue il training e restituisce un oggetto ITransformer.

(Ereditato da TrainerEstimatorBase<TTransformer,TModel>)
Fit(IDataView, IDataView)

Esegue il training di un FastTreeRegressionTrainer oggetto usando sia i dati di training che di convalida, restituisce un oggetto RegressionPredictionTransformer<TModel>.

GetOutputSchema(SchemaShape)

Oggetto IEstimator<TTransformer> per il training di un modello di regressione dell'albero delle decisioni tramite 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 in base ai dati memorizzati nella cache. È utile avere un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati.

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

Dato un estimator, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sull'adattamento, 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> vengono spesso formati in pipeline con molti oggetti, quindi potrebbe essere necessario creare una catena di estimatori tramite EstimatorChain<TLastTransformer> dove lo strumento di stima per il quale si vuole ottenere il trasformatore è sepolto in una posizione in questa catena. Per questo scenario, è possibile collegare un delegato che verrà chiamato una volta chiamato fit.

Si applica a

Vedi anche