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.

TreeBagger

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]

Sintaxis

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)

Descripción

Mdl = TreeBagger(NumTrees,Tbl,ResponseVarName) 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 .NumTreesTblResponseVarNameTbl

Mdl = TreeBagger(NumTrees,Tbl,formula) 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 .TblFórmulaTblMdl Especifique utilizando la notación Wilkinson.Fórmula Para obtener más información, consulte .Wilkinson Notation

Mdl = TreeBagger(NumTrees,Tbl,Y) devuelve un conjunto de árboles de clasificación utilizando las variables predictoras en las etiquetas de tabla y clase en vector .TblY

es una matriz de datos de respuesta.Y Los elementos de corresponden a las filas de .YTbl 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'

B = TreeBagger(NumTrees,X,Y) 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, .BNumTreesYX 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).CC(i,j)ji El orden de las filas y columnas de corresponde al orden de las clases en la propiedad del modelo entrenado.CostClassNamesTreeBaggerB

Alternativamente, puede ser una estructura que tiene dos campos:costS

  • que contiene los nombres de grupo como una variable categórica, matriz de caracteres, matriz de cadenas o matriz de celdas de vectores de caracteresS.ClassNames

  • que contiene la matriz de costosS.ClassificationCostsC

El valor predeterminado es if , y if .C(i,j) = 1i ~= jC(i,j) = 0i = j

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.Cost Para tamaños de muestra más pequeños, esto podría causar una frecuencia relativa muy baja de observaciones fuera de la bolsa de la clase que tiene una penalización grande. Por lo tanto, el error de fuera de bolsa estimado es muy variable y puede ser difícil de interpretar.

'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 .fitctreefitrtree
'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 .statset Puede recuperar valores de los campos individuales con una llamada a .statget Los parámetros aplicables son:statset

  • — Si y si uno de el está abierto, calcular árboles de decisión dibujados en réplicas de arranque separadas en paralelo.'UseParallel'trueparpoolParallel Computing Toolbox Si el no está instalado, o a no está abierto, el cálculo se produce en modo serie.Parallel Computing Toolboxparpool El valor predeterminado es , o el cálculo en serie.false

    Para sistemas de doble núcleo y superiores, TreeBagger paraliza el entrenamiento mediante bloques de creación de subprocesos (TBB).Intel® Por lo tanto, el uso de la opción no es útil en un solo equipo.'UseParallel' Utilice esta opción en un clúster. Para obtener más información sobre TBB, consulte .Intelhttps://software.intel.com/en-us/intel-tbb

  • — Si selecciona cada réplica de arranque utilizando un Substream separado del generador de números aleatorios (también conocido como Stream).'UseSubstreams'true Esta opción solo está disponible con tipos que admiten Substreams: o .RandStream'mlfg6331_64''mrg32k3a' El valor predeterminado es , no utilice un Substream diferente para calcular cada réplica de arranque.false

  • — Una matriz de objetos o celdas de dichos objetos.StreamsRandStream Si no especifica , utiliza la secuencia o secuencias predeterminadas.StreamsTreeBagger Si elige especificar , utilice un solo objeto excepto en el casoStreams

    • EsUseParalleltrue

    • EsUseSubstreamsfalse

    En ese caso, utilice una matriz de celdas del mismo tamaño que el grupo paralelo.

'Prior'

Probabilidades previas para cada clase. Especifique como uno de:

  • Un vector de caracteres o un escalar de cadena:

    • determina las probabilidades de clase a partir de frecuencias de clase en .'Empirical'Y Si pasa ponderaciones de observación, se utilizan para calcular las probabilidades de clase. Este es el valor predeterminado.

    • establece todas las probabilidades de clase iguales.'Uniform'

  • Un vector (un valor escalar para cada clase). El orden de los elementos corresponde al orden de las clases en la propiedad del modelo entrenado.PriorClassNamesTreeBaggerB

  • Una estructura con dos campos:S

    • que contiene los nombres de clase como una variable categórica, matriz de caracteres, matriz de cadenas o matriz de celdas de vectores de caracteresS.ClassNames

    • que contiene un vector de las probabilidades correspondientesS.ClassProbs

Si establece valores para ambos y , las ponderaciones se vuelven a normalizar para sumar el valor de la probabilidad anterior en la clase respectiva.WeightsPrior

Si está muy sesgado, entonces, para muestras en la bolsa, el software sobremuestrea observaciones únicas de la clase que tiene una probabilidad previa grande.Prior Para tamaños de muestra más pequeños, esto podría causar una frecuencia relativa muy baja de observaciones fuera de la bolsa de la clase que tiene una probabilidad previa grande. Por lo tanto, el error de fuera de bolsa estimado es muy variable y puede ser difícil de interpretar.

'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.'PredictorNames' La funcionalidad de depende de la forma en que proporcione los datos de entrenamiento.'PredictorNames'

  • Si proporciona y , entonces puede utilizar para dar las variables predictoras en los nombres.XY'PredictorNames'X

    • El orden de los nombres en debe corresponder al orden de columna de .PredictorNamesX Es decir, es el nombre de , es el nombre de , y así sucesivamente.PredictorNames{1}X(:,1)PredictorNames{2}X(:,2) Además, y debe ser igual.size(X,2)numel(PredictorNames)

    • De forma predeterminada, es .PredictorNames{'x1','x2',...}

  • Si proporciona , entonces puede utilizar para elegir qué variables predictoras utilizar en el entrenamiento.Tbl'PredictorNames' Es decir, utiliza las variables predictoras en y la respuesta solo en el entrenamiento.TreeBaggerPredictorNames

    • debe ser un subconjunto de y no puede incluir el nombre de la variable de respuesta.PredictorNamesTbl.Properties.VariableNames

    • De forma predeterminada, contiene los nombres de todas las variables predictoras.PredictorNames

    • Es una buena práctica especificar los predictores para el entrenamiento utilizando uno de o solo.'PredictorNames'Fórmula

'CategoricalPredictors'

Lista de predictores categóricos, especificada como el par separado por comas que consta de y uno de los siguientes.'CategoricalPredictors'

  • Un vector numérico con índices de to , donde está el número de columnas de .1ppX

  • Un vector lógico de longitud , donde una entrada significa que la columna correspondiente de es una variable categórica.ptrueX

  • Matriz de cadenas o matriz de celdas de vectores de caracteres, donde cada elemento de la matriz es el nombre de una variable predictora. Los nombres deben coincidir con las entradas de los valores.PredictorNames

  • Matriz de caracteres, donde cada fila de la matriz es un nombre de una variable predictora. Los nombres deben coincidir con las entradas de los valores.PredictorNames Rellena los nombres con espacios en blanco adicionales para que cada fila de la matriz de caracteres tenga la misma longitud.

  • , lo que significa que todos los predictores son categóricos.'all'

'ChunkSize'

Tamaño del fragmento, especificado como el par separado por comas que consta de y un entero positivo.'ChunkSize' El tamaño del fragmento especifica el número de observaciones en cada fragmento de datos. El valor predeterminado es .50000

Nota

Esta opción solo se aplica cuando se utiliza en matrices altas.TreeBagger Consulte para obtener más información.Capacidades extendidas

Además de los argumentos opcionales anteriores, acepta estos argumentos opcionales y.TreeBaggerfitctreefitrtree

Ejemplos

expandir todo

Cargue el conjunto de datos de iris de Fisher.

load fisheriris

Entrene un conjunto de árboles de clasificación embolsados utilizando todo el conjunto de datos. Especifique los alumnos débiles.50 Almacene qué observaciones están fuera de la bolsa para cada árbol.

rng(1); % For reproducibility Mdl = TreeBagger(50,meas,species,'OOBPrediction','On',...     'Method','classification')
Mdl =    TreeBagger Ensemble with 50 bagged decision trees:                     Training X:              [150x4]                     Training Y:              [150x1]                         Method:       classification                  NumPredictors:                    4          NumPredictorsToSample:                    2                    MinLeafSize:                    1                  InBagFraction:                    1          SampleWithReplacement:                    1           ComputeOOBPrediction:                    1  ComputeOOBPredictorImportance:                    0                      Proximity:                   []                     ClassNames:        'setosa'    'versicolor'     'virginica'    Properties, Methods  

es un conjunto.MdlTreeBagger

almacena un vector de celda 50 por 1 de los árboles de clasificación entrenados (objetos de modelo) que componen el conjunto.Mdl.TreesCompactClassificationTree

Trazar un gráfico del primer árbol de clasificación entrenado.

view(Mdl.Trees{1},'Mode','graph')

De forma predeterminada, crece árboles profundos.TreeBagger

almacena los índices fuera de la bolsa como una matriz de valores lógicos.Mdl.OOBIndices

Trazar el error fuera de bolsa sobre el número de árboles de clasificación crecidos.

figure; oobErrorBaggedEnsemble = oobError(Mdl); plot(oobErrorBaggedEnsemble) xlabel 'Number of grown trees'; ylabel 'Out-of-bag classification error';

El error fuera de la bolsa disminuye con el número de árboles cultivados.

Para etiquetar las observaciones fuera de la bolsa, pase a .MdloobPredict

Cargue el conjunto de datos.carsmall Considere un modelo que predice la economía de combustible de un coche dada su desplazamiento del motor.

load carsmall

Entrene un conjunto de árboles de regresión embolsados utilizando todo el conjunto de datos. Especifique 100 alumnos débiles.

rng(1); % For reproducibility Mdl = TreeBagger(100,Displacement,MPG,'Method','regression');

es un conjunto.MdlTreeBagger

Con una bolsa entrenada de árboles de regresión, puede estimar las respuestas medias condicionales o realizar la regresión cuantitativa para predecir los cuantiles condicionales.

Para diez desplazamientos de motor igualmente espaciados entre el desplazamiento mínimo y máximo en la muestra, prediga respuestas medias condicionales y cuartiles condicionales.

predX = linspace(min(Displacement),max(Displacement),10)'; mpgMean = predict(Mdl,predX); mpgQuartiles = quantilePredict(Mdl,predX,'Quantile',[0.25,0.5,0.75]);

Trazar las observaciones, y las respuestas medias estimadas y los cuartiles en la misma figura.

figure; plot(Displacement,MPG,'o'); hold on plot(predX,mpgMean); plot(predX,mpgQuartiles); ylabel('Fuel economy'); xlabel('Engine displacement'); legend('Data','Mean Response','First quartile','Median','Third quartile');

Cargue el conjunto de datos.carsmall Considere un modelo que predice la economía media de combustible de un automóvil dada su aceleración, número de cilindros, desplazamiento del motor, potencia, fabricante, año modelo y peso. Considere , , y como variables categóricas.CylindersMfgModel_Year

load carsmall Cylinders = categorical(Cylinders); Mfg = categorical(cellstr(Mfg)); Model_Year = categorical(Model_Year); X = table(Acceleration,Cylinders,Displacement,Horsepower,Mfg,...     Model_Year,Weight,MPG); rng('default'); % For reproducibility

Mostrar el número de categorías representadas en las variables categóricas.

numCylinders = numel(categories(Cylinders))
numCylinders = 3 
numMfg = numel(categories(Mfg))
numMfg = 28 
numModelYear = numel(categories(Model_Year))
numModelYear = 3 

Debido a que hay 3 categorías sólo en y , el CART estándar, el algoritmo de división predictora prefiere dividir un predictor continuo sobre estas dos variables.CylindersModel_Year

Entrene un bosque aleatorio de 200 árboles de regresión utilizando todo el conjunto de datos. Para cultivar árboles imparciales, especifique el uso de la prueba de curvatura para dividir predictores. Dado que faltan valores en los datos, especifique el uso de divisiones suplentes. Almacene la información fuera de la bolsa para la estimación de la importancia del predictor.

Mdl = TreeBagger(200,X,'MPG','Method','regression','Surrogate','on',...     'PredictorSelection','curvature','OOBPredictorImportance','on');

almacena estimaciones de importancia predictorenente en la propiedad.TreeBaggerOOBPermutedPredictorDeltaError Compare las estimaciones utilizando un gráfico de barras.

imp = Mdl.OOBPermutedPredictorDeltaError;  figure; bar(imp); title('Curvature Test'); ylabel('Predictor importance estimates'); xlabel('Predictors'); h = gca; h.XTickLabel = Mdl.PredictorNames; h.XTickLabelRotation = 45; h.TickLabelInterpreter = 'none';

En este caso, es el predictor más importante, seguido de .Model_YearWeight

Compare las estimaciones de importancia del predictor calculadas a partir de un bosque aleatorio que cultiva árboles utilizando CART estándar.imp

MdlCART = TreeBagger(200,X,'MPG','Method','regression','Surrogate','on',...     'OOBPredictorImportance','on');  impCART = MdlCART.OOBPermutedPredictorDeltaError;  figure; bar(impCART); title('Standard CART'); ylabel('Predictor importance estimates'); xlabel('Predictors'); h = gca; h.XTickLabel = Mdl.PredictorNames; h.XTickLabelRotation = 45; h.TickLabelInterpreter = 'none';

En este caso, , un predictor continuo, es el más importante.Weight Los dos predictores más importantes son seguidos de cerca por , que es un predictor continuo.Model_YearHorsepower

Entrene a un conjunto de árboles de clasificación embolsados para observaciones en una matriz alta y encuentre la probabilidad de clasificación errónea de cada árbol en el modelo para observaciones ponderadas. El conjunto de datos de ejemplo es un conjunto de datos grande que contiene un archivo tabular de datos de vuelos de aerolíneas.airlinesmall.csv

Al realizar cálculos en matrices altas, MATLAB® utiliza un grupo paralelo (predeterminado si tiene Parallel Computing Toolbox™) o la sesión local de MATLAB. Si desea ejecutar el ejemplo utilizando la sesión local de MATLAB cuando tiene Parallel Computing Toolbox, puede cambiar el entorno de ejecución global mediante la función.mapreducer

Cree un almacén de datos que haga referencia a la ubicación de la carpeta que contiene el conjunto de datos. Seleccione un subconjunto de las variables con las que trabajar y trate los valores como datos que faltan para reemplazarlos por valores.'NA'datastoreNaN Cree una tabla alta que contenga los datos del almacén de datos.

ds = datastore('airlinesmall.csv'); ds.SelectedVariableNames = {'Month','DayofMonth','DayOfWeek',...                             'DepTime','ArrDelay','Distance','DepDelay'}; ds.TreatAsMissing = 'NA'; tt  = tall(ds) % Tall table
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 4).  tt =    Mx7 tall table      Month    DayofMonth    DayOfWeek    DepTime    ArrDelay    Distance    DepDelay     _____    __________    _________    _______    ________    ________    ________       10          21            3          642          8         308          12         10          26            1         1021          8         296           1         10          23            5         2055         21         480          20         10          23            5         1332         13         296          12         10          22            4          629          4         373          -1         10          28            3         1446         59         308          63         10           8            4          928          3         447          -2         10          10            6          859         11         954          -1          :          :             :           :          :           :           :       :          :             :           :          :           :           : 

Determine los vuelos que llegan tarde en 10 minutos o más definiendo una variable lógica que es verdadera para un vuelo tardío. Esta variable contiene las etiquetas de clase. Una vista previa de esta variable incluye las primeras filas.

Y = tt.DepDelay > 10 % Class labels
Y =    Mx1 tall logical array     1    0    1    1    0    1    0    0    :    : 

Cree una matriz alta para los datos del predictor.

X = tt{:,1:end-1} % Predictor data
X =    Mx6 tall double matrix            10          21           3         642           8         308           10          26           1        1021           8         296           10          23           5        2055          21         480           10          23           5        1332          13         296           10          22           4         629           4         373           10          28           3        1446          59         308           10           8           4         928           3         447           10          10           6         859          11         954           :           :            :          :           :           :           :           :            :          :           :           : 

Cree una matriz alta para los pesos de observación asignando arbitrariamente pesos dobles a las observaciones de la clase 1.

W = Y+1; % Weights

Quite las filas de , , y que contienen datos que faltan.XYW

R = rmmissing([X Y W]); % Data with missing entries removed X = R(:,1:end-2);  Y = R(:,end-1);  W = R(:,end);

Entrene a un conjunto de 20 árboles de decisión embolsados utilizando todo el conjunto de datos. Especifique un vector de peso y probabilidades anteriores uniformes. Para reproducibilidad, establezca las semillas de los generadores de números aleatorios que utilizan y .rngtallrng Los resultados pueden variar en función del número de trabajadores y del entorno de ejecución de las matrices altas. Para obtener más información, consulte .Controle dónde se ejecuta el código (MATLAB)

rng('default')  tallrng('default') tMdl = TreeBagger(20,X,Y,'Weights',W,'Prior','Uniform')
Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 4.9 sec Evaluation completed in 5.2 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 3.4 sec Evaluation completed in 9.5 sec Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 8.9 sec Evaluation completed in 9 sec 
tMdl =    CompactTreeBagger Ensemble with 20 bagged decision trees:               Method:       classification        NumPredictors:                    6           ClassNames: '0' '1'    Properties, Methods  

es un conjunto con 20 árboles de decisión embolsados.tMdlCompactTreeBagger

Calcule la probabilidad de clasificación incorrecta de cada árbol del modelo. Atribuya un peso contenido en el vector a cada observación mediante el argumento de par nombre-valor.W'Weights'

terr = error(tMdl,X,Y,'Weights',W)
Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 8.1 sec Evaluation completed in 8.2 sec 
terr = 20×1

    0.1428
    0.1214
    0.1112
    0.1077
    0.1034
    0.1023
    0.1000
    0.0991
    0.0974
    0.0982
      ⋮

Encuentre la probabilidad de clasificación errónea promedio para el conjunto de árboles de decisión.

avg_terr = mean(terr)
avg_terr = 0.1019 

Sugerencias

  • 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.TreesBB.NumTreesCompactClassificationTreeCompactRegressionTree 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 .TreeBaggerOOBPermutedPredictorDeltaErrorMdl

    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.PredictorSelectionPredictorSelection

Algoritmos

  • 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

Funcionalidad alternativa

ofrece tres objetos para embolsado y bosque aleatorio:Statistics and Machine Learning Toolbox™

Para obtener más información sobre las diferencias entre los conjuntos embolsados ( y ), véase .TreeBaggerClassificationBaggedEnsembleRegressionBaggedEnsembleComparison of TreeBagger and Bagged Ensembles

Referencias

[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.

Capacidades ampliadas

Introducido en R2009a