Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
Crear bolsa de árboles de decisión
Los árboles de decisión individuales tienden a sobreajustarse. Los árboles de decisión agregados con Bootstrap ( ) combinan los resultados de muchos árboles de decisión, lo que reduce los efectos del sobreajuste y mejora la generalización. crece los árboles de decisión en el conjunto utilizando muestras de arranque de los datos.BolsasTreeBagger
Además, selecciona un subconjunto aleatorio de predictores para usar en cada división de decisión como en el algoritmo de bosque aleatorio.TreeBagger
[1]
De forma predeterminada, bolsas de árboles de clasificación.TreeBagger
Para embolsar árboles de regresión en su lugar, especifique .'Method','regression'
Para los problemas de regresión, admite la regresión media y cuantitativa (es decir, bosque de regresión cuantil).TreeBagger
[5]
Mdl = TreeBagger(NumTrees,Tbl,ResponseVarName)
Mdl = TreeBagger(NumTrees,Tbl,formula)
Mdl = TreeBagger(NumTrees,Tbl,Y)
B = TreeBagger(NumTrees,X,Y)
B = TreeBagger(NumTrees,X,Y,Name,Value)
devuelve un conjunto de árboles de clasificación embolsados entrenados con los datos de muestra de la tabla. es el nombre de la variable de respuesta en .Mdl
= TreeBagger(NumTrees
,Tbl
,ResponseVarName
)NumTrees
Tbl
ResponseVarName
Tbl
devuelve un conjunto de árboles de clasificación embolsados entrenados con los datos de muestra de la tabla. es un modelo explicativo de la respuesta y un subconjunto de variables predictoras utilizadas para encajar .Mdl
= TreeBagger(NumTrees
,Tbl
,formula
)Tbl
Fórmula
Tbl
Mdl
Especifique utilizando la notación Wilkinson.Fórmula
Para obtener más información, consulte .Wilkinson Notation
devuelve un conjunto de árboles de clasificación utilizando las variables predictoras en las etiquetas de tabla y clase en vector .Mdl
= TreeBagger(NumTrees
,Tbl
,Y
)Tbl
Y
es una matriz de datos de respuesta.Y
Los elementos de corresponden a las filas de .Y
Tbl
Para la clasificación, es el conjunto de etiquetas de clase true.Y
Las etiquetas pueden ser cualquier , es decir, un vector numérico o lógico, matriz de caracteres, matriz de cadenas, matriz de celdas de vectores de caracteres o vector categórico. convierte las etiquetas en una matriz de celdas de vectores de caracteres.variable de agrupaciónTreeBagger
Para la regresión, es un vector numérico.Y
Para aumentar los árboles de regresión, debe especificar el par nombre-valor .'Method','regression'
crea un conjunto de árboles de decisión para predecir la respuesta en función de los predictores en la matriz numérica de datos de entrenamiento, .B
= TreeBagger(NumTrees
,X
,Y
)B
NumTrees
Y
X
Cada fila representa una observación y cada columna representa un predictor o entidad.X
B = TreeBagger(NumTrees,X,Y,Name,Value)
especifica pares de nombre-valor de parámetros opcionales:
'InBagFraction' | Fracción de los datos de entrada para muestrear con reemplazo de los datos de entrada para el crecimiento de cada nuevo árbol. El valor predeterminado es 1. |
'Cost' | Matriz cuadrada , donde está el costo de clasificar un punto en clase si su clase verdadera es (es decir, las filas corresponden a la clase verdadera y las columnas corresponden a la clase predicha). Alternativamente, puede ser una estructura que tiene dos campos:
El valor predeterminado es if , y if . Si está muy sesgado, entonces, para muestras en la bolsa, el software cubre las observaciones únicas de la clase que tiene una gran penalización. |
'SampleWithReplacement' | para muestrear con reemplazo o para muestrear sin reemplazo.'on' 'off' Si toma muestras sin reemplazo, debe establecer un valor inferior a uno.'InBagFraction' El valor predeterminado es .'on' |
'OOBPrediction' | para almacenar información sobre qué observaciones están fuera de la bolsa para cada árbol.'on' Esta información se puede utilizar para calcular las probabilidades de clase pronosticadas para cada árbol del conjunto.oobPrediction El valor predeterminado es .'off' |
'OOBPredictorImportance' | para almacenar estimaciones fuera de bolsa de importancia característica en el conjunto.'on' El valor predeterminado es .'off' Especificar también establece el valor en .'on' 'OOBPrediction' 'on' Si un análisis de la importancia del predictor es su objetivo, entonces también especifique o .'PredictorSelection','curvature' 'PredictorSelection','interaction-curvature' Para obtener más información, consulte o .fitctree fitrtree |
'Method' | O .'classification' 'regression' La regresión requiere un archivo .Y |
'NumPredictorsToSample' | Número de variables a seleccionar al azar para cada división de decisión. El valor predeterminado es la raíz cuadrada del número de variables para la clasificación y un tercio del número de variables para la regresión. Los valores válidos son o un entero positivo.'all' Establecer este argumento en cualquier valor válido, pero invoca el algoritmo de bosque aleatorio de Breiman.'all' [1] |
'NumPrint' | Número de ciclos de entrenamiento (árboles crecidos) después de los cuales muestra un mensaje de diagnóstico que muestra el progreso del entrenamiento.TreeBagger El valor predeterminado no es ningún mensaje de diagnóstico. |
'MinLeafSize' | Número mínimo de observaciones por hoja de árbol. El valor predeterminado es 1 para la clasificación y 5 para la regresión. |
'Options' |
Estructura que especifica opciones que rigen el cálculo al cultivar el conjunto de árboles de decisión. Una opción solicita que el cálculo de árboles de decisión en varias réplicas de arranque utilice varios procesadores, si está disponible.Parallel Computing Toolbox™ Dos opciones especifican las secuencias numéricas aleatorias que se utilizarán en la selección de réplicas de arranque. Puede crear este argumento con una llamada a .
|
'Prior' | Probabilidades previas para cada clase. Especifique como uno de:
Si establece valores para ambos y , las ponderaciones se vuelven a normalizar para sumar el valor de la probabilidad anterior en la clase respectiva. Si está muy sesgado, entonces, para muestras en la bolsa, el software sobremuestrea observaciones únicas de la clase que tiene una probabilidad previa grande. |
'PredictorNames' | Nombres de variables predictoras, especificados como el par separado por comas que consta de una matriz de cadenas o una matriz de celdas de vectores de caracteres únicos.
|
'CategoricalPredictors' | Lista de predictores categóricos, especificada como el par separado por comas que consta de y uno de los siguientes.
|
'ChunkSize' | Tamaño del fragmento, especificado como el par separado por comas que consta de y un entero positivo. Nota Esta opción solo se aplica cuando se utiliza en matrices altas. |
Además de los argumentos opcionales anteriores, acepta estos argumentos opcionales y.TreeBagger
fitctree
fitrtree
Evite grandes desviaciones de error estimadas fuera de bolsa estableciendo una matriz de costos de clasificación errónea más equilibrada o un vector de probabilidad anterior menos sesgado.
La propiedad de almacena una matriz de celdas o objetos de modelo.Trees
B
B.NumTrees
CompactClassificationTree
CompactRegressionTree
Para una visualización textual o gráfica del árbol
t
en la matriz de celdas, ingrese
view(B.Trees{t})
El CART estándar tiende a seleccionar predictores divididos que contienen muchos valores distintos, por ejemplo, variables continuas, sobre aquellos que contienen pocos valores distintos, por ejemplo, variables categóricas.[4] Considere la posibilidad de especificar la curvatura o la prueba de interacción si se cumple alguna de las siguientes condiciones:
Si hay predictores que tienen relativamente menos valores distintos que otros predictores, por ejemplo, si el conjunto de datos predictor es heterogéneo.
Si tu objetivo es un análisis de la importancia del predictor. almacena estimaciones de importancia predictorenense en la propiedad de .TreeBagger
OOBPermutedPredictorDeltaError
Mdl
Para obtener más información sobre la selección de predictores, consulte para los árboles de clasificación o para los árboles de regresión.PredictorSelection
PredictorSelection
genera muestras en bolsa mediante clases de sobremuestreo con grandes costos de clasificación errónea y clases de submuestreo con pequeños costos de clasificación errónea.TreeBagger
En consecuencia, las muestras fuera de la bolsa tienen menos observaciones de clases con grandes costos de clasificación errónea y más observaciones de clases con pequeños costos de clasificación errónea. Si entrena un conjunto de clasificación utilizando un conjunto de datos pequeño y una matriz de costos muy sesgada, el número de observaciones fuera de bolsa por clase podría ser muy bajo. Por lo tanto, el error de sin bolsa estimado podría tener una gran varianza y podría ser difícil de interpretar. El mismo fenómeno puede ocurrir para clases con grandes probabilidades previas.
Para obtener más información sobre la selección de predictores divididos y algoritmos de división de nodo al cultivar árboles de decisión, consulte para los árboles de clasificación y para los árboles de regresión.AlgoritmosAlgorithms
ofrece tres objetos para embolsado y bosque aleatorio:Statistics and Machine Learning Toolbox™
creado por para la clasificaciónClassificationBaggedEnsemble
fitcensemble
creado por para la regresiónRegressionBaggedEnsemble
fitrensemble
creado por para la clasificación y regresiónTreeBagger
TreeBagger
Para obtener más información sobre las diferencias entre los conjuntos embolsados ( y ), véase .TreeBagger
ClassificationBaggedEnsemble
RegressionBaggedEnsemble
Comparison of TreeBagger and Bagged Ensembles
[1] Breiman, L. Random Forests. Machine Learning 45, pp. 5–32, 2001.
[2] Breiman, L., J. Friedman, R. Olshen, and C. Stone. Classification and Regression Trees. Boca Raton, FL: CRC Press, 1984.
[3] Loh, W.Y. “Regression Trees with Unbiased Variable Selection and Interaction Detection.” Statistica Sinica, Vol. 12, 2002, pp. 361–386.
[4] Loh, W.Y. and Y.S. Shih. “Split Selection Methods for Classification Trees.” Statistica Sinica, Vol. 7, 1997, pp. 815–840.
[5] Meinshausen, N. “Quantile Regression Forests.” Journal of Machine Learning Research, Vol. 7, 2006, pp. 983–999.
compact
| error
| fitctree
| fitrtree
| oobError
| oobPredict
| predict
| statset
| TreeBagger
| view
| view