exponenta event banner

Визуализация поверхностей принятия решений различных классификаторов

В этом примере показано, как построить график поверхности принятия решения для различных алгоритмов классификации.

Загрузите набор данных радужки Фишера.

load fisheriris
X = meas(:,1:2);
y = categorical(species);
labels = categories(y);

X - числовая матрица, содержащая два измерения лепестка для 150 ирисов. Y - клеточный массив символьных векторов, который содержит соответствующие виды радужки.

Визуализация данных с помощью графика рассеяния. Сгруппируйте переменные по видам радужки.

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

Figure contains an axes. The axes contains 3 objects of type line. These objects represent setosa, versicolor, virginica.

Выполните обучение четырех различных классификаторов и сохраните модели в массиве ячеек.

classifier_name = {'Naive Bayes','Discriminant Analysis','Classification Tree','Nearest Neighbor'};

Тренируйте наивную модель Байеса.

classifier{1} = fitcnb(X,y);

Подготовка классификатора дискриминантного анализа.

classifier{2} = fitcdiscr(X,y);

Обучение дерева принятия решений по классификации.

classifier{3} = fitctree(X,y);

Обучить k-ближайший классификатор соседей.

classifier{4} = fitcknn(X,y);

Создайте сетку точек, охватывающих все пространство в пределах фактических значений данных.

x1range = min(X(:,1)):.01:max(X(:,1));
x2range = min(X(:,2)):.01:max(X(:,2));
[xx1, xx2] = meshgrid(x1range,x2range);
XGrid = [xx1(:) xx2(:)];

Предсказать виды радужки каждого наблюдения в XGrid с использованием всех классификаторов. Постройте график рассеяния результатов.

for i = 1:numel(classifier)
   predictedspecies = predict(classifier{i},XGrid);

   subplot(2,2,i);
   gscatter(xx1(:), xx2(:), predictedspecies,'rgb');

   title(classifier_name{i})
   legend off, axis tight
end

legend(labels,'Location',[0.35,0.01,0.35,0.05],'Orientation','Horizontal')

Figure contains 4 axes. Axes 1 with title Naive Bayes contains 3 objects of type line. These objects represent setosa, versicolor, virginica. Axes 2 with title Discriminant Analysis contains 3 objects of type line. These objects represent setosa, versicolor, virginica. Axes 3 with title Classification Tree contains 3 objects of type line. These objects represent setosa, versicolor, virginica. Axes 4 with title Nearest Neighbor contains 3 objects of type line. These objects represent setosa, versicolor, virginica.

Каждый алгоритм классификации генерирует различные правила принятия решений. Поверхность принятия решений может помочь визуализировать эти правила.

См. также

Функции

Связанные темы