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.

resubPredict

Predecir las etiquetas de reenvío del clasificador de vecino más cercanok

Descripción

ejemplo

label = resubPredict(mdl) Devuelve las etiquetas que predice los datos de entrenamiento.mdlmdl.X La salida contiene las predicciones de los datos utilizados para crear.Etiquetamdlfitcknnmdl

[label,score] = resubPredict(mdl) también devuelve las probabilidades de la clase posterior para las predicciones.

[label,score,cost] = resubPredict(mdl) también devuelve los costos de clasificación errónea.

Ejemplos

contraer todo

Examine la calidad de un clasificador por sus predicciones de reenvío.

Cargue el conjunto de datos de iris de Fisher.

load fisheriris X = meas; Y = species;

Cree un clasificador para cinco vecinos más cercanos.

mdl = fitcknn(X,Y,'NumNeighbors',5);

Genere las predicciones de reenvío.

label = resubPredict(mdl);

Calcule el número de diferencias entre las predicciones y los datos originales.EtiquetaY

mydiff = not(strcmp(Y,label)); % mydiff(i) = 1 means they differ sum(mydiff) % Number of differences
ans = 5 

Un valor de in indica que la etiqueta observada difiere de la etiqueta pronosticada correspondiente.1mydiff Este ejemplo tiene cinco clasificaciones erróneas.

Argumentos de entrada

contraer todo

-modelo de clasificador de vecino más cercano, especificado como un objeto.kClassificationKNN

Argumentos de salida

contraer todo

Las etiquetas de clase previstas para las observaciones (filas) en los datos de entrenamiento, devueltas como una matriz categórica, matriz de caracteres, Vector lógico, Vector numérico o matriz de celdas de vectores de caracteres. tiene una longitud igual al número de filas.XEtiquetaX La etiqueta es la clase con el costo mínimo esperado. Ver.Etiqueta de clase pronosticada

Puntuaciones de clase pronosticadas o probabilidades posteriores, devueltas como una matriz numérica de tamaño por. es el número de observaciones (filas) en los datos de entrenamiento, y es el número de clases (in). es la probabilidad posterior de que la observación en es de clase en.nKnXKmdl.ClassNamesscore(i,j)iXjmdl.ClassNames Ver.Probabilidad posterior

Costos de clasificación esperados, devueltos como una matriz numérica de tamaño por. es el número de observaciones (filas) en los datos de entrenamiento, y es el número de clases (in). es el costo de clasificar la fila de como clase en.nKnXKmdl.ClassNamescost(i,j)iXjmdl.ClassNames Ver.Costo esperado

Sugerencias

  • Si estandariza los Datos predictores, es decir, y no están vacíos (), estandarizará los Datos predictores antes de predecir las etiquetas.mdl.Mumdl.Sigma[]resubPredict

Algoritmos

contraer todo

Etiqueta de clase pronosticada

resubPredict clasifica minimizando el coste de clasificación previsto:

y^=argminy=1,...,Kj=1KP^(j|x)C(y|j),

Dónde

  • y^ es la clasificación pronosticada.

  • es el número de clases.K

  • P^(j|x) es la probabilidad posterior de la clase para la observación.jx

  • C(y|j) es el costo de clasificar una observación como cuando es su verdadera clase.yj

Probabilidad posterior

Considere un vector (punto de consulta único) y un modelo.xnewmdl

  • es el número de vecinos más cercanos utilizados en la predicción,.kmdl.NumNeighbors

  • especifica los vecinos más cercanos.nbd(mdl,xnew)kxnewmdl.X

  • especifica las clasificaciones de los puntos en, a saber.Y(nbd)nbd(mdl,xnew)mdl.Y(nbd)

  • especifica los pesos de los puntos en.W(nbd)nbd(mdl,xnew)

  • especifica los antecedentes de las clases en.priormdl.Y

Si el modelo contiene un vector de probabilidades previas, los pesos de observación se normalizan por clase para sumar a los Priors.W Este proceso puede implicar un cálculo para el punto, ya que los pesos pueden depender de la distancia desde los puntos en.xnewxnewmdl.X

La probabilidad posterior (|) espjxnew

p(j|xnew)=inbdW(i)1Y(X(i))=jinbdW(i).

Aquí 1Y(X(i))=j es cuando, y de lo contrario.1mdl.Y(i) = j0

Verdadero costo de clasificación errónea

Dos costos están asociados con la clasificación KNN: el verdadero costo de clasificación errónea por clase y el costo esperado de clasificación errónea por observación.

Puede establecer el verdadero costo de clasificación errónea por clase utilizando el argumento de par nombre-valor cuando se ejecuta.'Cost'fitcknn El valor es el costo de clasificar una observación en la clase si su clase verdadera es.Cost(i,j)ji De forma predeterminada, si, y si.Cost(i,j) = 1i ~= jCost(i,j) = 0i = j En otras palabras, el costo es para la clasificación correcta y para la clasificación incorrecta.01

Costo esperado

Dos costos están asociados con la clasificación KNN: el verdadero costo de clasificación errónea por clase y el costo esperado de clasificación errónea por observación. La tercera salida es el costo esperado de clasificación errónea por observación.resubPredict

Supongamos que tiene observaciones que ha clasificado con un clasificador entrenado y tiene clases.NobsmdlK El comando

[label,score,cost] = resubPredict(mdl)

Devuelve una matriz de tamaño por, entre otras salidas.CostoNobsK Cada fila de la matriz contiene el costo esperado (promedio) de clasificar la observación en cada una de las clases. EsCostoKcost(n,j)

i=1KP^(i|X(n))C(j|i),

Dónde

  • es el número de clases.K

  • P^(i|X(n)) es la clase de observación ().probabilidad posterioriXn

  • C(j|i) es el verdadero costo de clasificación errónea de clasificar una observación como cuando es su verdadera clase.ji

Introducido en R2012a