Предскажите метки для Гауссовой модели классификации ядер
Label = predict(Mdl,X)
[Label,Score] = predict(Mdl,X)
Предскажите метки набора обучающих данных с помощью бинарной модели классификации ядер и отобразите матрицу беспорядка для получившейся классификации.
Загрузите набор данных ionosphere
. Этот набор данных имеет 34 предиктора, и 351 бинарный ответ для радара возвращается, или плохой ('b'
) или хороший ('g'
).
load ionosphere
Обучите бинарную модель классификации ядер, которая идентифицирует, плох ли радарный возврат ('b'
) или хорош ('g'
).
rng('default') % For reproducibility Mdl = fitckernel(X,Y);
Mdl
является моделью ClassificationKernel
.
Предскажите набор обучающих данных, или перезамену, метки.
label = predict(Mdl,X);
Создайте матрицу беспорядка.
ConfusionTrain = confusionchart(Y,label);
Модель неправильно классифицирует один радар, возвращаются для каждого класса.
Предскажите метки набора тестов с помощью бинарной модели классификации ядер и отобразите матрицу беспорядка для получившейся классификации.
Загрузите набор данных ionosphere
. Этот набор данных имеет 34 предиктора, и 351 бинарный ответ для радара возвращается, или плохой ('b'
) или хороший ('g'
).
load ionosphere
Разделите набор данных в наборы обучающих данных и наборы тестов. Задайте 15%-ю выборку затяжки для набора тестов.
rng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',0.15); trainingInds = training(Partition); % Indices for the training set testInds = test(Partition); % Indices for the test set
Обучите бинарную модель классификации ядер использование набора обучающих данных. Хорошая практика должна задать порядок класса.
Mdl = fitckernel(X(trainingInds,:),Y(trainingInds),'ClassNames',{'b','g'});
Предскажите метки набора обучающих данных и метки набора тестов.
labelTrain = predict(Mdl,X(trainingInds,:)); labelTest = predict(Mdl,X(testInds,:));
Создайте матрицу беспорядка для набора обучающих данных.
ConfusionTrain = confusionchart(Y(trainingInds),labelTrain);
Модель неправильно классифицирует только один радар, возвращаются для каждого класса.
Создайте матрицу беспорядка для набора тестов.
ConfusionTest = confusionchart(Y(testInds),labelTest);
Модель неправильно классифицирует один плохой радар, возвращаются как являющийся хорошей прибылью, и пять хороших радаров возвращаются как являющийся плохими возвратами.
Оцените следующие вероятности класса для набора тестов и определите качество модели путем графического вывода кривой рабочей характеристики получателя (ROC). Модели классификации ядер возвращают апостериорные вероятности для учеников логистической регрессии только.
Загрузите набор данных ionosphere
. Этот набор данных имеет 34 предиктора, и 351 бинарный ответ для радара возвращается, или плохой ('b'
) или хороший ('g'
).
load ionosphere
Разделите набор данных в наборы обучающих данных и наборы тестов. Задайте 30%-ю выборку затяжки для набора тестов.
rng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',0.30); trainingInds = training(Partition); % Indices for the training set testInds = test(Partition); % Indices for the test set
Обучите бинарную модель классификации ядер. Подходящие ученики логистической регрессии.
Mdl = fitckernel(X(trainingInds,:),Y(trainingInds), ... 'ClassNames',{'b','g'},'Learner','logistic');
Предскажите следующие вероятности класса для набора тестов.
[~,posterior] = predict(Mdl,X(testInds,:));
Поскольку Mdl
имеет одну силу регуляризации, вывод posterior
является матрицей с двумя столбцами и строками, равными количеству наблюдений набора тестов. Столбец i
содержит апостериорные вероятности Mdl.ClassNames(i)
, учитывая конкретное наблюдение.
Получите ложные и истинные положительные уровни и оцените область под кривой (AUC). Укажите, что второй класс является положительным классом.
[fpr,tpr,~,auc] = perfcurve(Y(testInds),posterior(:,2),Mdl.ClassNames(2)); auc
auc = 0.9042
AUC близко к 1
, который указывает, что модель предсказывает метки хорошо.
Постройте кривую ROC.
figure; plot(fpr,tpr) h = gca; h.XLim(1) = -0.1; h.YLim(2) = 1.1; xlabel('False positive rate') ylabel('True positive rate') title('ROC Curve')
Mdl
— Бинарная модель классификации ядерClassificationKernel
Бинарная модель классификации ядер, заданная как объект модели ClassificationKernel
. Можно создать объект модели ClassificationKernel
с помощью fitckernel
.
X
Данные о предиктореДанные о предикторе, заданные как n-by-p числовая матрица, где n является количеством наблюдений и p, являются количеством предикторов, используемых, чтобы обучить Mdl
.
Типы данных: single | double
Метка
Предсказанные метки классаПредсказанные метки класса, возвращенные как категориальное или символьный массив, логическая или числовая матрица или массив ячеек из символьных векторов.
Label
имеет строки n, где n является количеством наблюдений в X
и имеет совпадающий тип данных, когда наблюдаемый класс маркирует (Y
) используемый, чтобы обучить Mdl
. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)
predict
классифицирует наблюдения в класс, приводящий к самому высокому счету.
Score
— Очки классификацииОчки классификации, возвращенные как n-by-2 числовой массив, где n является количеством наблюдений в X
.
является счетом к классификации наблюдения Score(i,j)
i
в класс j
. Mdl.ClassNames
хранит порядок классов.
Если Mdl.Learner
является 'logistic'
, то очки классификации являются апостериорными вероятностями.
Для моделей классификации ядер, необработанного classification score для классификации наблюдения x, вектор - строка, в положительный класс задан
преобразование наблюдения для расширения функции.
β является предполагаемым вектор-столбцом коэффициентов.
b является предполагаемым скалярным смещением.
Необработанный счет классификации к классификации x в отрицательный класс является −f (x). Программное обеспечение классифицирует наблюдения в класс, который приводит к положительному счету.
Если модель классификации ядер состоит из учеников логистической регрессии, то программное обеспечение применяет преобразование счета 'logit'
к необработанным очкам классификации (см. ScoreTransform
).
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
ClassificationKernel
| confusionchart
| fitckernel
| perfcurve
| resume
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.