Ниже приведен код Matlab для классификатора Байеса, который классифицирует произвольные числа в свои классы.Коэффициент ошибок и точность классификации классификации
training = [3;5;17;19;24;27;31;38;45;48;52;56;66;69;73;78;84;88];
target_class = [0;0;10;10;20;20;30;30;40;40;50;50;60;60;70;70;80;80];
test = [1:2:90]';
class = classify(test,training, target_class, 'diaglinear'); % Naive Bayes classifier
[test class]
(а) Если кто-то может предоставить фрагменты кода для вычисления ошибки Байеса для некорректного и точности. Я просмотрел документацию Matlab относительно [class,err]=classify(...)
. Но я не могу следовать этому и работать.
(b) Также, как построить график рассеяния и гистограмму, указывающую количество точек данных, принадлежащих разным классам? Я пробовал с scatter(training(:),target_class(:))
, но он дает что-то еще!
(c) Как работать с crossvalidate()? Пример действительно поможет. Спасибо.
Привет. Благодарю вас. (B) Когда я использую диаграмму рассеяния, я получаю несколько графиков линий вместо точек разброса. Не могли бы вы предоставить правильный код для одного столбца/данных фактора? (c) Цель использования cv для моего случая - сравнить эффективность двух или более классификаторов, в данном случае байесов против k-nn, PCA и т. д. Итак, как мне использовать CV, я имею в виду, какие параметры должны быть поданы для сравнительная цель. Я считаю, что ваши примеры легче следовать, чем Matlab! – Chaitali
Вы не должны получать строки с вашим заявлением о разбросе. Я пробовал «разброс (обучение, те (размер (обучение)), [], target_class), и он работал хорошо. Ось и цвет Y зависят от 'target_class'. – yuk
Вы не можете применять все эти классификаторы с помощью CLASSIFY. Он имеет только 4 типа классификаторов. Я считаю, вы можете сделать это с перекрестной проверкой. См. Например, пример 2 в документе для CROSSVAL. Вам нужно будет предоставить различные функции прогнозирования (кроме классификации). Он вернет коэффициент пропускания, который вы можете использовать для сравнения различных функций. – yuk