FastTreeRegressionTrainer 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 regresión de árbol de decisión mediante 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)
- Herencia
Comentarios
Para crear este instructor, use FastTree o FastTree(Options).
Columnas de entrada y salida
Los datos de la columna de etiquetas de entrada deben ser Single. Los datos de columna de las características de entrada deben ser un vector de tamaño conocido de Single.
Este instructor genera las siguientes columnas:
Nombre de columna de salida | Tipo de columna | Descripción |
---|---|---|
Score |
Single | Puntuación sin enlazar predicha por el modelo. |
Características del entrenador
Tarea de Machine Learning | Regresió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 | Sí |
Detalles del algoritmo de entrenamiento
FastTree es una implementación eficaz del algoritmo de potenciación de gradiente 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 Consulte también los vínculos a ejemplos de uso.
Campos
FeatureColumn |
Columna de características que espera el instructor. (Heredado de TrainerEstimatorBase<TTransformer,TModel>) |
GroupIdColumn |
Columna groupID opcional que esperan los instructores 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 regresión de árbol de decisión mediante FastTree. (Heredado de FastTreeTrainerBase<TOptions,TTransformer,TModel>) |
Métodos
Fit(IDataView, IDataView) |
Entrena un FastTreeRegressionTrainer mediante datos de entrenamiento y validación, devuelve un RegressionPredictionTransformer<TModel>. |
Fit(IDataView) |
Entrena y devuelve un ITransformer. (Heredado de TrainerEstimatorBase<TTransformer,TModel>) |
GetOutputSchema(SchemaShape) |
IEstimator<TTransformer> para entrenar un modelo de regresió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 nivel inferior se entrenarán con los 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) que se llame. 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 está enterrado 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. |