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.

margin

Los márgenes de clasificación de los clasificadores Bayes ingenuos

Descripción

m = margin(Mdl,tbl,ResponseVarName) Devuelve el () para el clasificador Bayes Ingenuo entrenado utilizando los Datos predictores en la tabla y las etiquetas de clase en.márgenes de clasificaciónmMdltbltbl.ResponseVarName

m = margin(Mdl,tbl,Y) Devuelve los márgenes de clasificación () para el clasificador Bayes Ingenuo entrenado utilizando los Datos predictores en la tabla y las etiquetas de clase en Vector.mMdltblY

ejemplo

m = margin(Mdl,X,Y) Devuelve los márgenes de clasificación () para el clasificador Bayes Ingenuo entrenado utilizando los Datos predictores y las etiquetas de clase.mMdlXY

Argumentos de entrada

expandir todo

Clasificador Naive Bayes, especificado como modelo o modelo devuelto por oClassificationNaiveBayesCompactClassificationNaiveBayesfitcnb compactRespectivamente.

Datos de ejemplo, especificados como una tabla. Cada fila de corresponde a una observación, y cada columna corresponde a una variable predictora.tbl Opcionalmente, puede contener columnas adicionales para la variable de respuesta y ponderaciones de observación. debe contener todos los predictores utilizados para entrenar.tbltblMdl No se permiten las variables de varias columnas ni matrices de celdas que no sean matrices de celdas de vectores de caracteres.

Si ha entrenado con datos de ejemplo contenidos en a, los datos de entrada para este método también deben estar en una tabla.Mdltable

Tipos de datos: table

Nombre de variable de respuesta, especificado como el nombre de una variable en.tbl

Debe especificar como un vector de caracteres o un escalar de cadena.ResponseVarName Por ejemplo, si la variable de respuesta se almacena como, a continuación, especifíquese como.ytbl.y'y' De lo contrario, el software trata todas las columnas de, incluidos, como predictores al entrenar el modelo.tbly

La variable de respuesta debe ser una matriz categórica, de caracteres o de cadena, un vector lógico o numérico o una matriz de vectores de caracteres. Si la variable de respuesta es una matriz de caracteres, cada elemento debe corresponder a una fila de la matriz.

Tipos de datos: char | string

Datos de predictor, especificados como una matriz numérica.

Cada fila de corresponde a una observación (también conocida como una instancia o ejemplo), y cada columna corresponde a una variable (también conocida como una característica).X Las variables que componen las columnas de deben ser las mismas que las variables que entrenaron.XMdl

La longitud y el número de filas de deben ser iguales.YX

Tipos de datos: double | single

Etiquetas de clase, especificadas como una matriz categórica, de caracteres o de cadena, Vector lógico o numérico o matriz de celdas de vectores de caracteres. debe ser el mismo que el tipo de datos.YMdl.ClassNames (The software treats string arrays as cell arrays of character vectors.)

La longitud y el número de filas de o deben ser iguales.YtblX

Tipos de datos: categorical | char | string | logical | single | double | cell

Argumentos de salida

expandir todo

, devuelto como un vector numérico.Los márgenes de clasificación

tiene la misma longitud igual a.msize(X,1) Cada entrada de es el margen de clasificación de la observación correspondiente (fila) de y elemento de.mXY

Ejemplos

expandir todo

Cargue el conjunto de datos de iris de Fisher.

load fisheriris X = meas;    % Predictors Y = species; % Response rng(1);

Entrena a un ingenuo clasificador Bayes. Especifique una muestra de retención del 30% para las pruebas. Es recomendable especificar el orden de la clase. Supongamos que cada predictor se distribuye condicionalmente normalmente dada su etiqueta.

CVMdl = fitcnb(X,Y,'Holdout',0.30,...     'ClassNames',{'setosa','versicolor','virginica'}); CMdl = CVMdl.Trained{1}; ...     % Extract the trained, compact classifier testInds = test(CVMdl.Partition);   % Extract the test indices XTest = X(testInds,:); YTest = Y(testInds);

es un clasificador.CVMdlClassificationPartitionedModel Contiene la propiedad, que es un array de celdas 1 por 1 con un clasificador que el software entrenado usando el conjunto de entrenamiento.TrainedCompactClassificationNaiveBayes

Estimar los márgenes de clasificación de la muestra de prueba. Visualice la distribución de los márgenes utilizando una gráfica de caja.

m = margin(CMdl,XTest,YTest);  figure; boxplot(m); title 'Distribution of the Test-Sample Margins';

Un margen de observación es la puntuación de clase verdadera observada menos la puntuación de clase falsa máxima entre todas las puntuaciones de la clase respectiva. Los clasificadores que producen márgenes relativamente grandes son deseables.

Los márgenes del clasificador miden, para cada observación, la diferencia entre la puntuación verdadera observada de la clase y la puntuación de clase falsa máxima para una clase en particular. Una forma de realizar la selección de características es comparar los márgenes de muestra de prueba de varios modelos. Basado únicamente en este criterio, el modelo con los márgenes más altos es el mejor modelo.

Cargue el conjunto de datos de iris de Fisher.

load fisheriris X = meas;    % Predictors Y = species; % Response rng(1);

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

Partition = cvpartition(Y,'Holdout',0.30); testInds = test(Partition); % Indices for the test set XTest = X(testInds,:); YTest = Y(testInds);

La partición define la partición del conjunto de datos.

Defina estos dos conjuntos de datos:

  • contiene todos los predictores.fullX

  • contiene los últimos 2 predictores.partX

fullX = X; partX = X(:,3:4);

Entrena a los clasificadores Bayes ingenuos para cada conjunto de predictores. Especifique la definición de partición.

FCVMdl = fitcnb(fullX,Y,'CVPartition',Partition); PCVMdl = fitcnb(partX,Y,'CVPartition',Partition); FCMdl = FCVMdl.Trained{1}; PCMdl = PCVMdl.Trained{1};

y son clasificadores.FullCVMdlPartCVMdlClassificationPartitionedModel Contienen la propiedad, que es una matriz de celdas 1 por 1 que contiene un clasificador que el software entrenado utilizando el conjunto de entrenamiento.TrainedCompactClassificationNaiveBayes

Calcule los márgenes de muestra de prueba para cada clasificador. Visualice las distribuciones de los márgenes para cada modelo utilizando diagramas de caja.

fullM = margin(FCMdl,XTest,YTest); partM = margin(PCMdl,XTest(:,3:4),YTest);  figure; boxplot([fullM partM],'Labels',{'All Predictors','Two Predictors'}) h = gca; h.YLim = [0.98 1.01]; % Modify axis to see boxes. title 'Boxplots of Test-Sample Margins';

Los márgenes tienen una distribución similar, pero es menos complejo.PCMdl

Más acerca de

expandir todo

Capacidades ampliadas