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

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

Загрузите ирисовый набор данных Фишера.

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'};

Обучите наивную модель Bayes.

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.

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

Смотрите также

Функции

Похожие темы