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.

CompactClassificationTree

Paquete: classreg.learning.classif

Árbol de clasificación compacta

Descripción

Versión compacta de un árbol de clasificación (de clase).ClassificationTree La versión compacta no incluye los datos para entrenar el árbol de clasificación. Por lo tanto, no puede realizar algunas tareas con un árbol de clasificación compacto, como la validación cruzada. Utilice un árbol de clasificación compacto para realizar predicciones (clasificaciones) de nuevos datos.

Construcción

ctree = compact(tree) construye un árbol de decisión compacto a partir de un árbol de decisión completo.

Argumentos de entrada

tree

Un árbol de decisión construido usando.fitctree

Propiedades

CategoricalPredictors

Índices predictores categóricos, especificados como un vector de enteros positivos. contiene valores de índice correspondientes a las columnas de los datos del predictor que contienen predictores categóricos.CategoricalPredictors Si ninguno de los predictores es categórico, entonces esta propiedad está vacía ().[]

CategoricalSplits

Matriz de celdas an-by-2, donde es el número de divisiones categóricas en.nntree Cada fila en da los valores izquierdo y derecho para una división categórica.CategoricalSplits Para cada nodo de bifurcación con división categórica basada en una variable predictora categórica, se elige el hijo izquierdo si está en y se elige el secundario correcto si está en.jzzCategoricalSplits(j,1)zCategoricalSplits(j,2) Las divisiones están en el mismo orden que los nodos del árbol. Encuentre los nodos para estas divisiones seleccionando cortes de arriba a abajo en la propiedad.'categorical'CutType

Children

Matriz an-by-2 que contiene los números de los nodos secundarios para cada nodo en, donde es el número de nodos.ntreen Los nodos hoja tienen un nodo secundario.0

ClassCount

Una-por-matriz de recuentos de clases para los nodos en, donde es el número de nodos y es el número de clases.nktreenk Para cualquier número de nodo, los recuentos de clases son recuentos de observaciones (de los datos utilizados para ajustar el árbol) de cada clase que satisfacen las condiciones para el nodo.iClassCount(i,:)i

ClassNames

Lista de los elementos con duplicados eliminados. puede ser un vector numérico, Vector de variables categóricas, Vector lógico, matriz de caracteres o matriz de celdas de vectores de caracteres. tiene el mismo tipo de datos que los datos del argumento.YClassNamesClassNamesY (The software treats string arrays as cell arrays of character vectors.)

Si el valor de una propiedad tiene al menos una dimensión de longitud, indica el orden de los elementos a lo largo de esa dimensión (por ejemplo, y).kClassNamesCostoPrior

ClassProbability

Una-por-matriz de probabilidades de clase para los nodos en, donde es el número de nodos y es el número de clases.nktreenk Para cualquier número de nodo, las probabilidades de clase son las probabilidades estimadas para cada clase para un punto que satisfaga las condiciones para el nodo.iClassProbability(i,:)i

Cost

Matriz cuadrada, donde es el costo de clasificar un punto en la clase si su clase verdadera es (las filas corresponden a la clase true y las columnas corresponden a la clase pronosticada).Cost(i,j)ji El orden de las filas y columnas corresponde al orden de las clases en.CostoClassNames El número de filas y columnas en es el número de clases únicas en la respuesta.Costo Esta propiedad es de solo lectura.

CutCategories

Matriz de celdas a-by-2 de las categorías utilizadas en las ramas, donde es el número de nodos.ntreen Para cada nodo de rama basado en una variable predictora categórica, se elige el hijo izquierdo si está entre las categorías enumeradas en, y se elige el secundario correcto si está entre los enumerados en.ixxCutCategories{i,1}xCutCategories{i,2} Ambas columnas están vacías para nodos de bifurcación basados en predictores continuos y para nodos hoja.CutCategories

contiene los puntos de corte para cortes y contiene el conjunto de categorías.CutPoint'continuous'CutCategories

CutPoint

Un vector de elemento de los valores utilizados como puntos de corte en, donde es el número de nodos.ntreen Para cada nodo de bifurcación basado en una variable predictora continua, se elige el secundario izquierdo si se elige el secundario correcto si. es para nodos de bifurcación basados en predictores categóricos y para nodos hoja.ixx<CutPoint(i)x>=CutPoint(i)CutPointNaN

contiene los puntos de corte para cortes y contiene el conjunto de categorías.CutPoint'continuous'CutCategories

CutType

Matriz de celdas de un elemento que indica el tipo de corte en cada nodo, donde está el número de nodos.ntreen Para cada nodo, es:iCutType{i}

  • : Si el corte se define en el formulario para una variable y un punto de corte.'continuous'x < vxv

  • : Si el corte se define por si una variable toma un valor en un conjunto de categorías.'categorical'x

  • — Si es un nodo hoja.''i

contiene los puntos de corte para cortes y contiene el conjunto de categorías.CutPoint'continuous'CutCategories

CutPredictor

Matriz de celdas de un elemento de los nombres de las variables utilizadas para la ramificación en cada nodo, donde está el número de nodos.ntreen Estas variables a veces se conocen como .cut variables Para los nodos hoja, contiene un vector de caracteres vacío.CutPredictor

contiene los puntos de corte para cortes y contiene el conjunto de categorías.CutPoint'continuous'CutCategories

ExpandedPredictorNames

Nombres de predictores ampliados, almacenados como una matriz de vectores de caracteres de celda.

Si el modelo utiliza codificación para variables categóricas, incluye los nombres que describen las variables expandidas.ExpandedPredictorNames De lo contrario, es el mismo que.ExpandedPredictorNamesPredictorNames

IsBranchNode

Vector lógico de un elemento que es para cada nodo de bifurcación y para cada nodo hoja de.ntruefalsetree

NodeClass

Matriz de celdas de un elemento con los nombres de las clases más probables en cada nodo de, donde es el número de nodos en el árbol.ntreen Cada elemento de esta matriz es un vector de caracteres igual a uno de los nombres de clase en.ClassNames

NodeError

Un vector de elemento de los errores de los nodos en, donde es el número de nodos. es la probabilidad de clasificación errónea para el nodo.ntreenNodeError(i)i

NodeProbability

Un vector de elemento de las probabilidades de los nodos en, donde es el número de nodos.ntreen La probabilidad de un nodo se calcula como la proporción de observaciones de los datos originales que satisfacen las condiciones del nodo. Esta proporción se ajusta para cualquier probabilidad previa asignada a cada clase.

NodeRisk

Un vector de elemento del riesgo de los nodos en el árbol, donde es el número de nodos.nn El riesgo para cada nodo es la medida de impureza (índice o desviación de Gini) para este nodo ponderado por la probabilidad de nodo. Si el árbol se cultiva por dos, el riesgo para cada nodo es cero.

NodeSize

Un vector de elemento de los tamaños de los nodos en, donde es el número de nodos.ntreen El tamaño de un nodo se define como el número de observaciones de los datos utilizados para crear el árbol que satisfacen las condiciones del nodo.

NumNodes

El número de nodos en.tree

Parent

Un vector de elemento que contiene el número del nodo primario para cada nodo en, donde es el número de nodos.ntreen El elemento primario del nodo raíz es.0

PredictorNames

Matriz de nombres de celdas para las variables predictoras, en el orden en que aparecen.X

Prior

Vector numérico de probabilidades previas para cada clase. El orden de los elementos corresponde al orden de las clases en.PriorClassNames El número de elementos de es el número de clases únicas en la respuesta.Prior Esta propiedad es de solo lectura.

PruneAlpha

Vector numérico con un elemento por nivel de poda. Si el nivel de poda oscila entre 0 y, a continuación, tiene + 1 elementos ordenados en orden ascendente. es para el nivel de poda 0 (sin poda), es para el nivel de poda 1, y así sucesivamente.MPruneAlphaMPruneAlpha(1)PruneAlpha(2)

PruneList

Vector numérico de un elemento con los niveles de poda en cada nodo de, donde es el número de nodos.ntreen Los niveles de poda van desde 0 (sin poda) a, donde es la distancia entre la hoja más profunda y el nodo raíz.MM

ResponseName

Vector de caracteres que describe la variable de respuesta.Y

ScoreTransform

Identificador de función para transformar puntuaciones o vector de caracteres que representa una función de transformación integrada. significa que no hay transformación; equivalentemente, significa.'none''none'@(x)x Para obtener una lista de las funciones de transformación integradas y la sintaxis de las funciones de transformación personalizadas, consulte.fitctree

Añadir o cambiar una función utilizando la notación de puntos:ScoreTransform

ctree.ScoreTransform = 'function'
or
ctree.ScoreTransform = @function

SurrogateCutCategories

Una matriz de celdas de elemento de las categorías utilizadas para el suplente se divide en, donde es el número de nodos en.ntreentree Para cada nodo, es una matriz de celdas.kSurrogateCutCategories{k} La longitud de es igual al número de predictores suplentes encontrados en este nodo.SurrogateCutCategories{k} Cada elemento de es un vector de carácter vacío para un predictor suplente continuo, o es una matriz de celdas de dos elementos con categorías para un predictor suplente categórico.SurrogateCutCategories{k} El primer elemento de esta matriz de celdas de dos elementos enumera las categorías asignadas al secundario izquierdo por esta división suplente y el segundo elemento de esta matriz de celdas de dos elementos enumera las categorías asignadas al secundario derecho por esta división suplente. El orden de las variables de división sustitutas en cada nodo se corresponde con el orden de las variables en.SurrogateCutVar La variable de división óptima en este nodo no aparece. Para los nodos no rama (hoja), contiene una celda vacía.SurrogateCutCategories

SurrogateCutFlip

Matriz de celdas de un elemento de las asignaciones de corte numérico que se usa para las divisiones de suplentes, donde está el número de nodos.ntreentree Para cada nodo, es un vector numérico.kSurrSurrogateCutFlip{k} La longitud de es igual al número de predictores suplentes encontrados en este nodo.SurrogateCutFlip{k} Cada elemento de es cero para un predictor suplente categórico o una asignación de corte numérico para un predictor suplente continuo.SurrogateCutFlip{k} La asignación de corte numérico puede ser – 1 o + 1. Para cada división sustituta con un corte numérico basado en una variable predictora continua, se elige el hijo izquierdo siCZ Z<C y la asignación de corte para esta división suplente es + 1, o si ZC y la asignación de corte para esta división suplente es – 1. Del mismo modo, se elige al niño adecuado si ZC y la asignación de corte para esta división suplente es + 1, o si Z<C y la asignación de corte para esta división suplente es – 1. El orden de las variables de división sustitutas en cada nodo se corresponde con el orden de las variables en.SurrogateCutPredictor La variable de división óptima en este nodo no aparece. Para los nodos no rama (hoja), contiene una matriz vacía.SurrogateCutFlip

SurrogateCutPoint

Matriz de celdas de un elemento de los valores numéricos utilizados para el suplente se divide en, donde es el número de nodos en.ntreentree Para cada nodo, es un vector numérico.kSurrogateCutPoint{k} La longitud de es igual al número de predictores suplentes encontrados en este nodo.SurrogateCutPoint{k} Cada elemento de es para un predictor suplente categórico, o un corte numérico para un predictor suplente continuo.SurrogateCutPoint{k}NaN Para cada división sustituta con un corte numérico basado en una variable predictora continua, se elige el hijo izquierdo siCZ Z<C y para esta división suplente es + 1, o si ≥ y para esta división suplente es – 1.SurrogateCutFlipZCSurrogateCutFlip Del mismo modo, se elige al niño adecuado si ZC y para esta división suplente es + 1, o siSurrogateCutFlip Z<C y para esta división suplente es – 1.SurrogateCutFlip El orden de las variables de división sustitutas en cada nodo coincide con el orden de las variables devueltas por.SurrogateCutPredictor La variable de división óptima en este nodo no aparece. Para los nodos no rama (hoja), contiene una celda vacía.SurrogateCutPoint

SurrogateCutType

Matriz de celdas de un elemento que indica los tipos de divisiones sustitutas en cada nodo, donde se encuentra el número de nodos.ntreentree Para cada nodo, es una matriz de celdas con los tipos de las variables de división sustitutas en este nodo.kSurrogateCutType{k} Las variables se ordenan por la medida predictiva de asociación con el predictor óptimo en el orden descendente, y solo se incluyen las variables con la medida predictiva positiva. El orden de las variables de división sustitutas en cada nodo se corresponde con el orden de las variables en.SurrogateCutPredictor La variable de división óptima en este nodo no aparece. Para los nodos no rama (hoja), contiene una celda vacía.SurrogateCutType Un tipo de división suplente puede ser si el corte se define en el formulario < para una variable y un punto de corte o si el corte se define por si toma un valor en un conjunto de categorías.'continuous'ZVZV'categorical'Z

SurrogateCutPredictor

Matriz de celdas de un elemento de los nombres de las variables utilizadas para las divisiones sustitutas en cada nodo, donde está el número de nodos.ntreentree Cada elemento de es una matriz de celdas con los nombres de las variables de división sustitutas en este nodo.SurrogateCutPredictor Las variables se ordenan por la medida predictiva de asociación con el predictor óptimo en el orden descendente, y solo se incluyen las variables con la medida predictiva positiva. La variable de división óptima en este nodo no aparece. Para los nodos no rama (hoja), contiene una celda vacía.SurrogateCutPredictor

SurrogatePredictorAssociation

Una matriz de celdas de elemento de las medidas predictivas de Asociación para suplentes se divide en, donde es el número de nodos en.ntreentree Para cada nodo, es un vector numérico.kSurrogatePredictorAssociation{k} La longitud de es igual al número de predictores suplentes encontrados en este nodo.SurrogatePredictorAssociation{k} Cada elemento da la medida predictiva de asociación entre la división óptima y esta división sustituta.SurrogatePredictorAssociation{k} El orden de las variables de división sustitutas en cada nodo es el orden de las variables en.SurrogateCutPredictor La variable de división óptima en este nodo no aparece. Para los nodos no rama (hoja), contiene una celda vacía.SurrogatePredictorAssociation

Métodos

edgeLa arista de clasificación
lossError de clasificación
marginLos márgenes de clasificación
predictPredecir etiquetas utilizando el árbol de clasificación
predictorImportanceLas estimaciones de importancia predictora
surrogateAssociationMedida predictiva media de Asociación para divisiones sustitutas en el árbol de decisión
viewVer árbol

Semántica de copia

Valor. Para saber cómo afectan las clases de valor a las operaciones de copia, consulte.Copiar objetos (MATLAB)

Ejemplos

contraer todo

Construya un árbol de clasificación compacto para los datos de iris de Fisher.

load fisheriris tree = fitctree(meas,species); ctree = compact(tree);

Compare el tamaño del árbol resultante con el del árbol original.

t = whos('tree'); % t.bytes = size of tree in bytes c = whos('ctree'); % c.bytes = size of ctree in bytes [c.bytes t.bytes]
ans = 1×2

        4924       11613

El árbol compacto es más pequeño que el árbol original.

Más acerca de

expandir todo

Capacidades ampliadas

Introducido en R2011a