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.

ClassificationPartitionedEnsemble

Paquete: classreg.learning.partition
Superclases: ClassificationPartitionedModel

Conjunto de clasificación de validación cruzada

Descripción

es un conjunto de conjuntos de clasificación entrenados en pliegues con validación cruzada.ClassificationPartitionedEnsemble Estimar la calidad de la clasificación mediante validación cruzada utilizando uno o más métodos "kfold": kfoldPredict, kfoldLoss, kfoldMargin, kfoldEdgeY kfoldfun.

Cada método "kfold" utiliza modelos formados en observaciones en pliegue para predecir la respuesta de las observaciones fuera de pliegue. Por ejemplo, supongamos que se cruza la validación mediante cinco pliegues. En este caso, cada pliegue de formación contiene aproximadamente 4/5 de los datos y cada pliegue de prueba contiene aproximadamente 1/5 de los datos. El primer modelo almacenado en fue entrenado en y con los primeros 1/5 excluidos, el segundo modelo almacenado en fue entrenado en y con el segundo 1/5 excluidos, y así sucesivamente.Trained{1}XYTrained{2}XY Cuando llames a kfoldPredict, calcula las predicciones para el primer 1/5 de los datos utilizando el primer modelo, para el segundo 1/5 de datos utilizando el segundo modelo, y así sucesivamente. En Resumen, la respuesta para cada observación se calcula mediante kfoldPredict usando el modelo entrenado sin esta observación.

Construcción

cvens = crossval(ens) crea un conjunto con validación cruzada de un conjunto de clasificación.ens Para obtener detalles de sintaxis, consulte el crossval Página de referencia de método.

cvens = fitcensemble(X,Y,Name,Value) crea un conjunto validado de forma cruzada cuando es uno de,,, o.Name'CrossVal''KFold''Holdout''Leaveout''CVPartition' Para obtener detalles de sintaxis, consulte la página de referencia de función.fitcensemble

Propiedades

BinEdges

Aristas de ubicación para los predictores numéricos, especificados como una matriz de celdas de vectores numéricos, donde es el número de predictores.pp Cada vector incluye los bordes de la papelera para un predictor numérico. El elemento en la matriz de celdas para un predictor categórico está vacío porque el software no bin predictores categóricos.

Los predictores numéricos de bins de software solo si especifica el argumento de par nombre-valor como un escalar entero positivo al entrenar un modelo con alumnos de árbol.'NumBins' La propiedad está vacía si el valor está vacío (valor predeterminado).BinEdges'NumBins'

Puede reproducir los datos de predictor en binned utilizando la propiedad del modelo entrenado.XbinnedBinEdgesmdl

X = mdl.X; % Predictor data
Xbinned = zeros(size(X));
edges = mdl.BinEdges;
% Find indices of binned predictors.
idxNumeric = find(~cellfun(@isempty,edges));
if iscolumn(idxNumeric)
    idxNumeric = idxNumeric';
end
for j = idxNumeric 
    x = X(:,j);
    % Convert x to array if x is a table.
    if istable(x) 
        x = table2array(x);
    end
    % Group x into bins by using the discretize function.
    xbinned = discretize(x,[-inf; edges{j}; inf]); 
    Xbinned(:,j) = xbinned;
end
contiene los índices de ubicación, que van desde 1 hasta el número de bins, para los predictores numéricos. valores son 0 para los predictores categóricos.XbinnedXbinned Si contiene s, los valores correspondientes son s.XNaNXbinnedNaN

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 ().[]

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

Combiner

Matriz de combinadores de celdas en todos los pliegues.

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.

CrossValidatedModel

Nombre del modelo validado de forma cruzada, un vector de caracteres.

Kfold

Número de pliegues utilizados en un conjunto validado de forma cruzada, un entero positivo.

ModelParameters

Objetos que sostienen parámetros de.cvens

NumObservations

Número de puntos de datos utilizados en el entrenamiento del conjunto, un entero positivo.

NTrainedPerFold

Número de puntos de datos utilizados en el entrenamiento de cada pliegue del conjunto, un entero positivo.

Partition

Partición de la clase utilizada en la creación del conjunto de validación cruzada.cvpartition

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.

ResponseName

Nombre de la variable de respuesta, un vector de caracteres.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

ens.ScoreTransform = 'function'

O

ens.ScoreTransform = @function

Trainable

Matriz celular de conjuntos formados en pliegues de validación cruzada. Cada conjunto está lleno, lo que significa que contiene sus datos de entrenamiento y pesos.

Trained

Matriz celular de conjuntos compactos formados en pliegues de validación cruzada.

W

Escalado, un vector con longitud, el número de filas en.weightsnX

X

Una matriz o tabla de valores predictores. Cada columna de representa una variable, y cada fila representa una observación.X

Y

Vector numérico, Vector categórico, Vector lógico, matriz de caracteres o matriz de celdas de vectores de caracteres. Cada fila de es la respuesta a los datos en la fila correspondiente de.YX

Métodos

kfoldEdgeMargen de clasificación para observaciones no utilizadas para la formación
kfoldLossPérdida de clasificación para observaciones no utilizadas para la formación
resumeReanudar la formación de los alumnos en pliegues de validación cruzada

Métodos heredados

kfoldEdgeMargen de clasificación para observaciones no utilizadas para la formación
kfoldLossPérdida de clasificación para observaciones no utilizadas para la formación
kfoldMarginMárgenes de clasificación para observaciones no utilizadas para la formación
kfoldPredictPredecir la respuesta para observaciones no utilizadas para el entrenamiento
kfoldfunFunción de validación cruzada

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

Evalúe el error de validación cruzada k-fold para un conjunto de clasificación que modela los datos de iris de Fisher.

Cargue el conjunto de datos de ejemplo.

load fisheriris

Entrena un conjunto de 100 árboles de clasificación potenciado usando AdaBoostM2.

t = templateTree('MaxNumSplits',1); % Weak learner template tree object ens = fitcensemble(meas,species,'Method','AdaBoostM2','Learners',t);

Cree un conjunto validado de forma cruzada y busque el error de validación cruzada k-Fold.ens

rng(10,'twister') % For reproducibility cvens = crossval(ens); L = kfoldLoss(cvens)
L = 0.0467