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

Predecir etiquetas para el modelo de clasificación de kernel gaussiano

Descripción

ejemplo

Label = predict(Mdl,X) Devuelve las etiquetas de clase pronosticadas para cada observación en los Datos predictores basados en el modelo de clasificación de kernel gaussiano binario.XMdl

ejemplo

[Label,Score] = predict(Mdl,X) también devuelve para ambas clases.puntuaciones de clasificación

Ejemplos

contraer todo

Predecir las etiquetas de conjunto de entrenamiento mediante un modelo de clasificación de kernel binario y mostrar la matriz de confusión para la clasificación resultante.

Cargue el conjunto de datos.ionosphere Este conjunto de datos tiene 34 predictores y 351 respuestas binarias para las devoluciones de radar, ya sea Bad () o Good ().'b''g'

load ionosphere

Entrenar un modelo de clasificación de kernel binario que identifique si el retorno del radar es malo () o bueno ().'b''g'

rng('default') % For reproducibility Mdl = fitckernel(X,Y);

es un modelo.MdlClassificationKernel

Predecir el conjunto de entrenamiento, o reenviarlo, etiquetas.

label = predict(Mdl,X); 

Construya una matriz de confusión.

ConfusionTrain = confusionchart(Y,label);

El modelo clasifica erróneamente una vuelta de radar para cada clase.

Predecir las etiquetas de conjunto de pruebas mediante un modelo de clasificación de kernel binario y mostrar la matriz de confusión para la clasificación resultante.

Cargue el conjunto de datos.ionosphere Este conjunto de datos tiene 34 predictores y 351 respuestas binarias para las devoluciones de radar, ya sea Bad () o Good ().'b''g'

load ionosphere

Particionar el conjunto de datos en conjuntos de entrenamiento y prueba. Especifique una muestra de retención del 15% para el conjunto de pruebas.

rng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',0.15); trainingInds = training(Partition); % Indices for the training set testInds = test(Partition); % Indices for the test set

Entrenar un modelo de clasificación de kernel binario utilizando el conjunto de entrenamiento. Una buena práctica es definir el orden de la clase.

Mdl = fitckernel(X(trainingInds,:),Y(trainingInds),'ClassNames',{'b','g'}); 

Predecir las etiquetas del conjunto de entrenamiento y las etiquetas del conjunto de pruebas.

labelTrain = predict(Mdl,X(trainingInds,:)); labelTest = predict(Mdl,X(testInds,:));

Construya una matriz de confusión para el conjunto de entrenamiento.

ConfusionTrain = confusionchart(Y(trainingInds),labelTrain);

El modelo clasifica erróneamente un solo retorno de radar para cada clase.

Construya una matriz de confusión para el conjunto de pruebas.

ConfusionTest = confusionchart(Y(testInds),labelTest);

El modelo clasifica erróneamente un mal retorno de radar como un buen retorno, y cinco buenos retornos de radar como malos rendimientos.

Calcule las probabilidades de clase posterior para un conjunto de pruebas y determine la calidad del modelo trazando una curva de características operativas del receptor (ROC). Los modelos de clasificación de kernel devuelven probabilidades posteriores solo para los alumnos de regresión logística.

Cargue el conjunto de datos.ionosphere Este conjunto de datos tiene 34 predictores y 351 respuestas binarias para las devoluciones de radar, ya sea Bad () o Good ().'b''g'

load ionosphere

Particionar el conjunto de datos en conjuntos de entrenamiento y prueba. Especifique una muestra de retención del 30% para el conjunto de pruebas.

rng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',0.30); trainingInds = training(Partition); % Indices for the training set testInds = test(Partition); % Indices for the test set

Entrenar un modelo de clasificación de kernel binario. Ajuste los alumnos de regresión logística.

Mdl = fitckernel(X(trainingInds,:),Y(trainingInds), ...     'ClassNames',{'b','g'},'Learner','logistic');

Predecir las probabilidades de clase posterior para el conjunto de pruebas.

[~,posterior] = predict(Mdl,X(testInds,:));

Dado que tiene una fuerza de regularización, la salida es una matriz con dos columnas y filas iguales al número de observaciones del conjunto de pruebas.Mdlposterior La columna contiene probabilidades posteriores de una observación determinada.iMdl.ClassNames(i)

Obtener tasas positivas falsas y verdaderas, y estimar el área bajo la curva (AUC). Especifique que la segunda clase es la clase positiva.

[fpr,tpr,~,auc] = perfcurve(Y(testInds),posterior(:,2),Mdl.ClassNames(2)); auc
auc = 0.9042 

El AUC está cerca, lo que indica que el modelo predice bien las etiquetas.1

Trace una curva ROC.

figure; plot(fpr,tpr) h = gca; h.XLim(1) = -0.1; h.YLim(2) = 1.1; xlabel('False positive rate') ylabel('True positive rate') title('ROC Curve')

Argumentos de entrada

contraer todo

Modelo de clasificación de kernel binario, especificado como un objeto de modelo.ClassificationKernel Puede crear un objeto de modelo utilizando.ClassificationKernelfitckernel

Los Datos predictores, especificados como una matriz numérica, donde es el número de observaciones y es el número de predictores utilizados para entrenar.npnpMdl

Tipos de datos: single | double

Argumentos de salida

contraer todo

Etiquetas de clase pronosticadas, devueltas como una matriz categórica o de caracteres, matriz lógica o numérica, o matriz de celdas de vectores de caracteres.

tiene filas, donde es el número de observaciones en, y tiene el mismo tipo de datos que las etiquetas de clase observadas () utilizadas para entrenar.LabelnnXYMdl (The software treats string arrays as cell arrays of character vectors.)

clasifica las observaciones en la clase obteniendo la puntuación más alta.Predecir

, devuelta como una matriz numérica de-por-2, donde es el número de observaciones en.Las puntuaciones de clasificaciónnnX Score(i,j) es la puntuación para clasificar la observación i en la clase j. almacena el orden de las clases.Mdl.ClassNames

Si es así, las puntuaciones de clasificación son probabilidades posteriores.Mdl.Learner'logistic'

Más acerca de

contraer todo

Puntuación de clasificación

Para los modelos de clasificación de kernel, el RAW para clasificar la observación, un vector de fila, en la clase positiva se define mediantepuntuación de clasificaciónx

f(x)=T(x)β+b.

  • T(·) es una transformación de una observación para la expansión de características.

  • es el vector de columna estimado de los coeficientes.β

  • es el sesgo escalar estimado.b

La puntuación de clasificación sin procesar para clasificar en la clase negativa esx f(x). El software clasifica las observaciones en la clase que produce una puntuación positiva.

Si el modelo de clasificación de kernel consta de alumnos de regresión logística, el software aplica la transformación de puntuación a las puntuaciones de clasificación sin procesar (consulte).'logit'ScoreTransform

Capacidades ampliadas

Introducido en R2017b