FastTreeRankingTrainer Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
IEstimator<TTransformer> para entrenar un modelo de clasificación de árbol de decisión mediante 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)
- Herencia
Comentarios
Para crear este instructor, use FastTree o FastTree(Options).
Columnas de entrada y salida
El tipo de datos de la etiqueta de entrada debe ser de tipo de clave o Single. El valor de la etiqueta determina la relevancia, donde los valores más altos indican mayor relevancia. Si la etiqueta es de tipo de clave, entonces el índice de la clave es el valor de relevancia, donde el índice más pequeño es el menos relevante. Si la etiqueta es un Single, los valores mayores indican mayor relevancia. La columna de característica debe ser un vector de tamaño conocido de y la columna de grupo de Single filas de entrada debe ser de tipo clave .
Este instructor genera las siguientes columnas:
Nombre de columna de salida | Tipo de columna | Descripción |
---|---|---|
Score |
Single | Puntuación sin enlazar que calculó el modelo para determinar la predicción. |
Características del entrenador
Tarea de Machine Learning | Clasificación |
¿Se requiere normalización? | No |
¿Se requiere el almacenamiento en caché? | No |
NuGet necesario además de Microsoft.ML | Microsoft.ML.FastTree |
Exportable a ONNX | No |
Detalles del algoritmo de entrenamiento
FastTree es una implementación eficaz del algoritmo de potenciación de degradado MART . La potenciación del gradiente es una técnica de aprendizaje automático para problemas de regresión. Genera cada árbol de regresión de forma gradual, usando una función de pérdida predefinida para medir el error en cada paso y corregirlo en el siguiente. Por tanto, el modelo de predicción es en realidad un conjunto de modelos de predicción más débiles. En los problemas de regresión, la potenciación genera una serie de árboles por pasos y, después, selecciona el árbol óptimo mediante una función arbitraria de pérdida diferenciable.
MART aprende un conjunto de árboles de regresión, que es un árbol de decisión con valores escalares en las hojas. Un árbol de decisión (o regresión) es un diagrama de flujo de árbol binario, donde, en cada nodo interior, uno decide con cuál de los dos nodos secundarios continuar, en función del valor de una de las características de entrada. En cada nodo hoja, se devuelve un valor. En los nodos interiores, la decisión se basa en la prueba x <= v, donde x es el valor de la característica en el ejemplo de entrada y v es uno de los valores posibles de esta característica. Las funciones que puede producir un árbol de regresión son todas las funciones constantes definidas a trozos.
El conjunto de árboles se genera calculando, en cada paso, un árbol de regresión que aproxima el gradiente de la función de pérdida y agregándolo al árbol anterior con coeficientes que minimizan la pérdida del nuevo árbol. La salida del conjunto generado por MART en una instancia determinada es la suma de las salidas del árbol.
- Si hay algún problema de clasificación binaria, la salida se convierte en una probabilidad usando alguna forma de calibración.
- En el caso de un problema de regresión, la salida es el valor predicho de la función.
- Si hay un problema de clasificación, las instancias se ordenan por el valor de salida del conjunto.
Para obtener más información, consulte:
- Wikipedia: Potenciación de degradado (potenciación de árbol degradado).
- Aproximación de funciones expansiva: una máquina de potenciación del gradiente.
Consulte la sección Ver también para obtener vínculos a ejemplos del uso.
Campos
FeatureColumn |
Columna de características que espera el instructor. (Heredado de TrainerEstimatorBase<TTransformer,TModel>) |
GroupIdColumn |
Columna groupID opcional que espera el instructor de clasificación. (Heredado de TrainerEstimatorBaseWithGroupId<TTransformer,TModel>) |
LabelColumn |
Columna de etiqueta que espera el instructor. Puede ser |
WeightColumn |
Columna de peso que espera el entrenador. Puede ser |
Propiedades
Info |
IEstimator<TTransformer> para entrenar un modelo de clasificación de árbol de decisión mediante FastTree. (Heredado de FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
Métodos
Fit(IDataView, IDataView) |
Entrena un FastTreeRankingTrainer objeto mediante datos de entrenamiento y validación, devuelve un RankingPredictionTransformer<TModel>. |
Fit(IDataView) |
Entrena y devuelve un ITransformerobjeto . (Heredado de TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
IEstimator<TTransformer> para entrenar un modelo de clasificación de árbol de decisión mediante FastTree. (Heredado de TrainerEstimatorBase<TTransformer,TModel>) |
Métodos de extensión
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Anexe un "punto de control de almacenamiento en caché" a la cadena del estimador. Esto garantizará que los estimadores de bajada se entrenarán con datos almacenados en caché. Resulta útil tener un punto de control de almacenamiento en caché antes de que los instructores tomen varios pases de datos. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Dado un estimador, devuelva un objeto de ajuste que llamará a un delegado una vez Fit(IDataView) . A menudo, es importante que un estimador devuelva información sobre lo que cabe, por lo que el Fit(IDataView) método devuelve un objeto con tipo específico, en lugar de simplemente un general ITransformer. Sin embargo, al mismo tiempo, IEstimator<TTransformer> a menudo se forman en canalizaciones con muchos objetos, por lo que es posible que tengamos que crear una cadena de estimadores a través EstimatorChain<TLastTransformer> de donde el estimador para el que queremos obtener el transformador se enterró en algún lugar de esta cadena. En ese escenario, podemos a través de este método adjuntar un delegado al que se llamará una vez que se llame a fit. |