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.

edge

Borde de clasificación para clasificadores Bayes ingenuos

Descripción

ejemplo

e = edge(Mdl,tbl,ResponseVarName) Devuelve el () para el clasificador Bayes Ingenuo utilizando los Datos predictores en la tabla y las etiquetas de clase en.borde de clasificacióneMdltbltbl.ResponseVarName

ejemplo

e = edge(Mdl,tbl,Y) Devuelve el borde de clasificación () para el clasificador Bayes Ingenuo utilizando los Datos predictores en la tabla y las etiquetas de clase en Vector.eMdltblY

ejemplo

e = edge(Mdl,X,Y) Devuelve el () para el clasificador Bayes Ingenuo utilizando Datos predictores y etiquetas de clase.borde de clasificacióneMdlXY

ejemplo

e = edge(___,Name,Value) calcula el borde de clasificación con opciones adicionales especificadas por uno o más argumentos de par, utilizando cualquiera de las sintaxis anteriores.Name,Value

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 par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ponderaciones de observación, especificadas como el par separado por comas que consta de un vector numérico o el nombre de una variable en.'Weights'tbl El software pesa las observaciones en cada fila o con el peso correspondiente en.XtblWeights

Si se especifica como un vector, el tamaño de debe ser igual al número de filas de o.WeightsWeightsXtbl

Si especifica como el nombre de una variable en, debe hacerlo como un vector de caracteres o escalar de cadena.Weightstbl Por ejemplo, si las ponderaciones se almacenan como, a continuación, especifique as.tbl.wWeights'w' De lo contrario, el software trata todas las columnas de, incluidos, como predictores.tbltbl.w

Si no especifica su propia función de pérdida, entonces el software se normaliza para sumar.Weights1

Tipos de datos: double | char | string

Argumentos de salida

expandir todo

, devuelto como un escalar.La arista de clasificación Si se suministra, entonces es la arista de clasificación ponderada.Weightse

Ejemplos

expandir todo

Cargue el conjunto de datos de iris de Fisher.

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

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 es condicionalmente, normalmente distribuido dada su etiqueta.

CVMdl = fitcnb(X,Y,'Holdout',0.30,...     'ClassNames',{'setosa','versicolor','virginica'}); CMdl = CVMdl.Trained{1};          % Extract 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 el borde de la muestra de prueba.

e = edge(CMdl,XTest,YTest)
e = 0.8244 

El promedio estimado del margen de muestreo de la prueba es aproximadamente.0.82 Esto indica que, en promedio, la diferencia de muestra de prueba entre la probabilidad posterior estimada para la clase pronosticada y la probabilidad posterior para la clase con la siguiente probabilidad posterior más baja es aproximadamente 0,82. Esto indica que las etiquetas de clasificador con alta confianza.

Cargue el conjunto de datos de iris de Fisher.

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

Supongamos que las mediciones de iris de setosa son de menor calidad porque se midieron con una tecnología más antigua. Una manera de incorporar esto es ponderar las mediciones de iris de setosa menos que las otras observaciones.

Definir un vector de peso que pesa las observaciones de mejor calidad dos veces las otras observaciones.

n = size(X,1); idx = strcmp(Y,'setosa'); weights = ones(size(X,1),1); weights(idx) = 0.5;

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

CVMdl = fitcnb(X,Y,'Weights',weights,'Holdout',0.30,...     'ClassNames',{'setosa','versicolor','virginica'}); CMdl = CVMdl.Trained{1};          % Extract trained, compact classifier testInds = test(CVMdl.Partition); % Extract the test indices XTest = X(testInds,:); YTest = Y(testInds); wTest = weights(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

Calcule el borde ponderado de la muestra de prueba utilizando el esquema de ponderación.

e = edge(CMdl,XTest,YTest,'Weights',wTest)
e = 0.7893 

El margen medio ponderado de la muestra de prueba es aproximadamente 0,79. Esto indica que, en promedio, la diferencia de muestra de prueba entre la probabilidad posterior estimada para la clase pronosticada y la probabilidad posterior para la clase con la siguiente probabilidad posterior más baja es aproximadamente 0,79. Esto indica que las etiquetas de clasificador con alta confianza.

El borde del clasificador mide el promedio de los márgenes del clasificador. Una forma de realizar la selección de características es comparar los bordes de la muestra de prueba de varios modelos. Basado únicamente en este criterio, el clasificador con el borde más alto es el mejor clasificador.

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,:);

define la partición del conjunto de datos.Partition

Defina estos dos conjuntos de datos:

  • contiene todos los predictores.fullX

  • contiene los dos últimos 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.FCVMdlPCVMdlClassificationPartitionedModel 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 el borde de la muestra de prueba para cada clasificador.

fullEdge = edge(FCMdl,XTest,YTest)
fullEdge = 0.8244 
partEdge = edge(PCMdl,XTest(:,3:4),YTest)
partEdge = 0.8420 

Los bordes de la muestra de prueba de los clasificadores son casi los mismos. Sin embargo, el modelo entrenado con dos predictores () es menos complejo.PCMdl

Más acerca de

expandir todo

Capacidades ampliadas