FastTreeRankingTrainer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Oggetto IEstimator<TTransformer> per il training di un modello di classificazione dell'albero delle decisioni tramite 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 formatore, usare FastTree o FastTree (Options).To create this trainer, use FastTree or FastTree(Options).
Colonne di input e output
Il tipo di dati dell'etichetta di input deve essere chiave tipo o Single. Il valore dell'etichetta determina la pertinenza, dove i valori più elevati indicano una maggiore rilevanza. Se l'etichetta è un tipo di chiave , l'indice della chiave è il valore di pertinenza, dove l'indice più piccolo è il meno rilevante. Se l'etichetta è un Single, i valori più grandi indicano una maggiore rilevanza. La colonna di funzionalità deve essere un vettore noto di e la colonna del gruppo di righe di Single input deve essere di tipo chiave .
Questo formatore restituisce le colonne seguenti:
| Nome della colonna di output | Tipo di colonna | Descrizione |
|---|---|---|
Score |
Single | Punteggio illimitato calcolato dal modello per determinare la previsione. |
Caratteristiche del trainer
| Attività di Machine Learning | Ranking |
| La normalizzazione è necessaria? | No |
| La memorizzazione nella cache è necessaria? | No |
| NuGet necessario oltre a Microsoft.ML | Microsoft.ML.FastTree |
| Esportabile in ONNX | No |
Dettagli algoritmo di training
FastTree è un'implementazione efficiente dell'algoritmo di boosting della sfumatura MART . Il gradient boosting è una tecnica di Machine Learning 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 delle prestazioni 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 binario simile all'albero, 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 prodotte da un albero di regressione sono tutte le funzioni costanti a fasi.
L'insieme di alberi viene prodotto dal 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'ensemble prodotto da MART in una determinata istanza è la somma degli output dell'albero.
- 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 ulteriori informazioni, vedere:
- Wikipedia: Boosting del gradiente (boosting dell'albero delle sfumature).
- Approssimazione della funzione Greedy: macchina a gradient boosting.
Vedere anche la sezione Vedere anche per i collegamenti ad esempi di utilizzo.
Campi
| Nome | Descrizione |
|---|---|
| FeatureColumn |
Colonna di funzionalità prevista dal formatore. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
| GroupIdColumn |
Colonna groupID facoltativa prevista dai formatori di classificazione. (Ereditato da TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
| LabelColumn |
Colonna etichetta prevista dal formatore. Può essere |
| WeightColumn |
Colonna di peso prevista dal formatore. Può essere |
Proprietà
| Nome | Descrizione |
|---|---|
| Info |
Oggetto IEstimator<TTransformer> per il training di un modello di classificazione dell'albero delle decisioni tramite FastTree. (Ereditato da FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
Metodi
| Nome | Descrizione |
|---|---|
| Fit(IDataView, IDataView) |
Esegue il training di un FastTreeRankingTrainer oggetto usando sia i dati di training che di convalida, restituisce un oggetto RankingPredictionTransformer<TModel>. |
| Fit(IDataView) |
Esegue il training e restituisce un oggetto ITransformer. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
| GetOutputSchema(SchemaShape) |
Oggetto IEstimator<TTransformer> per il training di un modello di classificazione dell'albero delle decisioni tramite FastTree. (Ereditato da TrainerEstimatorBase<TTransformer,TModel>) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Aggiungere un "checkpoint di memorizzazione nella cache" alla catena di stima. In questo modo si garantisce che gli estimatori downstream vengano sottoposti a training su dati memorizzati nella cache. È utile disporre di un checkpoint di memorizzazione nella cache prima che i formatori eseseguono più passaggi di dati. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dato uno strumento di stima, restituire un oggetto wrapping che chiamerà un delegato una volta Fit(IDataView) chiamato. È spesso importante che uno strumento di stima restituisca informazioni sulle dimensioni, 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. |