Классифицировать наблюдения в перекрестно проверенной модели классификации ядра
возвращает метки классов, предсказанные перекрестно проверенной двоичной моделью ядра (label = kfoldPredict(CVMdl)ClassificationPartitionedKernel) CVMdl. Для каждого раза, kfoldPredict предсказывает метки классов для проверочных наблюдений с использованием модели, обученной тренировочным наблюдениям.
[ также возвращает классификационные баллы для обоих классов.label,score] = kfoldPredict(CVMdl)
Классифицируйте наблюдения с помощью перекрестно проверенного двоичного классификатора ядра и отобразите матрицу путаницы для результирующей классификации.
Загрузить ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный отклик для радарных возвращений, которые помечены как плохие ('b') или хорошо ('g').
load ionosphereПерекрестная проверка двоичной модели классификации ядра с использованием данных.
rng(1); % For reproducibility CVMdl = fitckernel(X,Y,'Crossval','on')
CVMdl =
ClassificationPartitionedKernel
CrossValidatedModel: 'Kernel'
ResponseName: 'Y'
NumObservations: 351
KFold: 10
Partition: [1x1 cvpartition]
ClassNames: {'b' 'g'}
ScoreTransform: 'none'
Properties, Methods
CVMdl является ClassificationPartitionedKernel модель. По умолчанию программное обеспечение реализует 10-кратную перекрестную проверку. Чтобы указать другое количество сгибов, используйте 'KFold' аргумент пары имя-значение вместо 'Crossval'.
Классифицировать наблюдения, которые fitckernel не использует при обучении складки.
label = kfoldPredict(CVMdl);
Создайте матрицу путаницы, чтобы сравнить истинные классы наблюдений с их предсказанными метками.
C = confusionchart(Y,label);

CVMdl модель ошибочно классифицирует 32 добра ('g') радар возвращается как плохой ('b') и неправильно классифицирует 7 плохих радаров как хорошие.
Оценка вероятности апостериорного класса с использованием перекрестно проверенного двоичного классификатора ядра и определение качества модели путем построения кривой рабочих характеристик приемника (ROC). Перекрестно проверенные модели классификации ядра возвращают задние вероятности только для учащихся с логистической регрессией.
Загрузить ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный отклик для радарных возвращений, которые помечены как плохие ('b') или хорошо ('g').
load ionosphereПерекрестная проверка двоичной модели классификации ядра с использованием данных. Укажите порядок занятий и подберите слушателей логистической регрессии.
rng(1); % For reproducibility CVMdl = fitckernel(X,Y,'Crossval','on', ... 'ClassNames',{'b','g'},'Learner','logistic')
CVMdl =
ClassificationPartitionedKernel
CrossValidatedModel: 'Kernel'
ResponseName: 'Y'
NumObservations: 351
KFold: 10
Partition: [1x1 cvpartition]
ClassNames: {'b' 'g'}
ScoreTransform: 'none'
Properties, Methods
CVMdl является ClassificationPartitionedKernel модель. По умолчанию программное обеспечение реализует 10-кратную перекрестную проверку. Чтобы указать другое количество сгибов, используйте 'KFold' аргумент пары имя-значение вместо 'Crossval'.
Предсказать вероятности заднего класса для наблюдений, которые fitckernel не использует при обучении складки.
[~,posterior] = kfoldPredict(CVMdl);
Продукция posterior является матрицей с двумя столбцами и n строки, где n - количество наблюдений. Колонка i содержит апостериорные вероятности CVMdl.ClassNames(i) с учетом особого замечания.
Получите ложные и истинные положительные показатели и оцените площадь под кривой (AUC). Укажите, что второй класс является положительным.
[fpr,tpr,~,auc] = perfcurve(Y,posterior(:,2),CVMdl.ClassNames(2)); auc
auc = 0.9441
AUC близок к 1, что указывает на то, что модель хорошо предсказывает метки.
Постройте график кривой ROC.
plot(fpr,tpr) xlabel('False positive rate') ylabel('True positive rate') title('ROC Curve')

CVMdl - Перекрестная проверка, двоичная модель классификации ядраClassificationPartitionedKernel объект моделиПерекрестная проверка, двоичная модель классификации ядра, указанная как ClassificationPartitionedKernel объект модели. Можно создать ClassificationPartitionedKernel модель с использованием fitckernel и задают любой из аргументов пары имя-значение перекрестной проверки.
Для получения оценок, kfoldPredict применяет те же данные, которые используются для перекрестной проверки модели классификации ядра (X и Y).
label - Прогнозируемые метки классовПрогнозируемые метки класса, возвращаемые как категориальный или символьный массив, логическая или числовая матрица или массив ячеек символьных векторов.
label имеет n строк, где n - количество наблюдений в Xи имеет тот же тип данных, что и наблюдаемые метки классов (Y) используется для обучения CVMdl. (Программа рассматривает строковые массивы как массивы ячеек символьных векторов.)
kfoldPredict классифицирует наблюдения в класс, дающий наивысший балл.
score - Классификационные баллыКлассификационные баллы, возвращаемые в виде n-на-2 числового массива, где n - количество наблюдений в X. score(i,j) является оценкой для классификации наблюдения i в класс j. Порядок классов сохраняется в CVMdl.ClassNames.
Если CVMdl.Trained{1}.Learner является 'logistic', то классификационные оценки являются задними вероятностями.
Для моделей классификации ядра необработанный показатель классификации для классификации наблюдения x, вектора строки, в положительный класс определяется как
β + b.
(·) - это преобразование наблюдения для расширения признаков.
β - оцененный вектор-столбец коэффициентов.
b - оценочное скалярное смещение.
Необработанная оценка классификации для классификации x в отрицательный класс равна − f (x). Программа классифицирует наблюдения в класс, который дает положительную оценку.
Если модель классификации ядра состоит из учеников логистической регрессии, то программное обеспечение применяет 'logit' преобразование баллов в необработанные оценки классификации (см. ScoreTransform).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.