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.

Trazar probabilidades de clasificación posterior

Este ejemplo muestra cómo visualizar las probabilidades de clasificación posterior previstas por un modelo de clasificación Bayes ingenuo.

Cargue el conjunto de datos de iris de Fisher.

load fisheriris X = meas(:,1:2); Y = species; labels = unique(Y);

es una matriz numérica que contiene dos mediciones de pétalo para 150 iris. es una matriz celular de vectores de caracteres que contiene las especies de iris correspondientes.XY

Visualice los datos utilizando un gráfico de dispersión. Agrupa las variables por especies de iris.

figure; gscatter(X(:,1), X(:,2), species,'rgb','osd'); xlabel('Sepal length'); ylabel('Sepal width'); 

Entrena a un ingenuo clasificador Bayes.

mdl = fitcnb(X,Y);

es un clasificador entrenado.mdlClassificationNaiveBayes

Cree una cuadrícula de puntos que abarque todo el espacio dentro de algunos límites de los datos. Los datos oscilan entre 4,3 y 7,9.X(:,1) Los datos oscilan entre 2 y 4,4.X(:,2)

[xx1, xx2] = meshgrid(4:.01:8,2:.01:4.5); XGrid = [xx1(:) xx2(:)];

Predecir las especies de iris y las probabilidades de clase posterior de cada observación en el uso.XGridmdl

[predictedspecies,Posterior,~] = predict(mdl,XGrid);

Trazar la distribución de probabilidad posterior para cada especie.

sz = size(xx1); s = max(Posterior,[],2);  figure hold on surf(xx1,xx2,reshape(Posterior(:,1),sz),'EdgeColor','none') surf(xx1,xx2,reshape(Posterior(:,2),sz),'EdgeColor','none') surf(xx1,xx2,reshape(Posterior(:,3),sz),'EdgeColor','none') xlabel('Sepal length'); ylabel('Sepal width'); colorbar view(2)  hold off

Cuanto más se acerque una observación a la superficie de decisión, menos probable es que los datos pertenezcan a una especie determinada.

Trace las distribuciones de probabilidad de clasificación individualmente.

figure('Units','Normalized','Position',[0.25,0.55,0.4,0.35]); hold on surf(xx1,xx2,reshape(Posterior(:,1),sz),'FaceColor','red','EdgeColor','none') surf(xx1,xx2,reshape(Posterior(:,2),sz),'FaceColor','blue','EdgeColor','none') surf(xx1,xx2,reshape(Posterior(:,3),sz),'FaceColor','green','EdgeColor','none') xlabel('Sepal length'); ylabel('Sepal width'); zlabel('Probability'); legend(labels) title('Classification Probability') alpha(0.2) view(3) hold off

Consulte también

Funciones

Objetos

Temas relacionados