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.

predict

Clase: TreeBagger

Predecir las respuestas usando un conjunto de árboles de decisión en bolsas

Sintaxis

Yfit = predict(B,X)
Yfit = predict(B,X,Name,Value)
[Yfit,stdevs] = predict(___)
[Yfit,scores] = predict(___)
[Yfit,scores,stdevs] = predict(___)

Descripción

Yfit = predict(B,X) Devuelve un vector de respuestas previstas para los Datos predictores de la tabla o matriz, en función del conjunto de árboles de decisión en bolsas. es una matriz de celdas de vectores de caracteres para la clasificación y una matriz numérica para la regresión.XBYfit Por defecto, toma un voto medio democrático (no ponderado) de todos los árboles del conjunto.Predecir

es un objeto de modelo entrenado, es decir, un modelo devuelto porBTreeBagger TreeBagger.

es una tabla o matriz de Datos predictores utilizados para generar respuestas.X Las filas representan observaciones y columnas representan variables.

  • Si es una matriz numérica:X

    • Las variables que componen las columnas de deben tener el mismo orden que las variables predictoras que entrenaron.XB

    • Si ha entrenado usando una tabla (por ejemplo,), entonces puede ser una matriz numérica si contiene todas las variables predictoras numéricas.BTblXTbl Para tratar los predictores numéricos como categóricos durante el entrenamiento, identifique los predictores categóricos utilizando el argumento de par nombre-valor deTblCategoricalPredictors TreeBagger. Si contiene variables predictoras heterogéneas (por ejemplo, tipos de datos numéricos y categóricos) y es una matriz numérica, se produce un error.TblXPredecir

  • Si es una tabla:X

    • no admite variables de varias columnas ni matrices de celdas que no sean matrices de celdas de vectores de caracteres.Predecir

    • Si ha entrenado utilizando una tabla (por ejemplo,), todas las variables predictoras en deben tener los mismos nombres de variable y ser de los mismos tipos de datos que los que entrenaron (almacenados en).BTblXBB.PredictorNames Sin embargo, el orden de columna de no necesita corresponder al orden de columna de. y puede contener variables adicionales (variables de respuesta, pesos de observación, etc.), pero las ignora.XTblTblXPredecir

    • Si entrenó con una matriz numérica, los nombres de los predictores y los nombres de las variables predictoras correspondientes deben ser los mismos.BB.PredictorNamesX Para especificar nombres de predictores durante el entrenamiento, vea el argumento de par nombre-valor de.PredictorNamesTreeBagger Todas las variables predictoras en deben ser vectores numéricos. puede contener variables adicionales (variables de respuesta, pesos de observación, etc.), pero las ignora.XXPredecir

Yfit = predict(B,X,Name,Value) especifica opciones adicionales mediante uno o varios argumentos de par nombre-valor:

  • — Matriz de índices de árbol a utilizar para el cálculo de respuestas.'Trees' El valor predeterminado es.'all'

  • — Matriz de pesos para ponderaciones de votos de los árboles especificados, donde está el número de árboles en el conjunto.'TreeWeights'NTreesNTrees

  • — Matriz lógica de tamaño-por-indicando qué árboles utilizar para hacer predicciones para cada observación, donde es el número de observaciones.'UseInstanceForTree'NobsNTreesNobs De forma predeterminada, todos los árboles se utilizan para todas las observaciones.

Para la regresión, [Yfit,stdevs] = predict(___) también devuelve desviaciones estándar de las respuestas calculadas sobre el conjunto de los árboles cultivados utilizando cualquiera de las combinaciones de argumentos de entrada en sintaxis anteriores.

Para la clasificación, [Yfit,scores] = predict(___) también devuelve puntuaciones para todas las clases. es una matriz con una fila por observación y una columna por clase.Puntuaciones Para cada observación y cada clase, la puntuación generada por cada árbol es la probabilidad de la observación originaria de la clase, calculada como la fracción de las observaciones de la clase en una hoja de árbol. promedios de estas puntuaciones sobre todos los árboles en el conjunto.Predecir

[Yfit,scores,stdevs] = predict(___) también devuelve desviaciones estándar de las puntuaciones calculadas para la clasificación. es una matriz con una fila por observación y una columna por clase, con desviaciones estándar tomadas sobre el conjunto de los árboles cultivados.stdevs

Algoritmos

  • Para los problemas de regresión, la respuesta pronosticada para una observación es el promedio ponderado de las predicciones utilizando solo árboles seleccionados. Es decir

    y^bag=1t=1TαtI(tS)t=1Tαty^tI(tS).

    • y^t es la predicción del árbol en el conjunto.t

    • es el conjunto de índices de árboles seleccionados que componen la predicción (ver y).S'Trees''UseInstanceForTree' I(tS) es 1 si está en el conjunto, y 0 en caso contrario.tS

    • Αt es el peso del árbol (ver).t'TreeWeights'

  • Para los problemas de clasificación, la clase pronosticada para una observación es la clase que produce el promedio ponderado más grande de las probabilidades posteriores de clase (es decir, puntuaciones de clasificación) calculadas solo con árboles seleccionados. Es decir

    1. Para cada clase ∊ y cada árbol = 1,...,, calculacCtTPredecir P^t(c|x), que es la probabilidad posterior estimada de clase dada observación usando árbol. es el conjunto de todas las clases distintas en los datos de entrenamiento.cxtC Para obtener más información sobre las probabilidades posteriores del árbol de clasificación, consulte yfitctree predict.

    2. calcula el promedio ponderado de las probabilidades posteriores de la clase sobre los árboles seleccionados.Predecir

      P^bag(c|x)=1t=1TαtI(tS)t=1TαtP^t(c|x)I(tS).

    3. La clase pronosticada es la clase que produce el promedio ponderado más grande.

    y^bag=argmaxcC{P^bag(c|x)}.