Классифицируйте наблюдения на перекрестную подтвержденную модель классификации ядер
label = kfoldPredict(CVMdl)[label,score] = kfoldPredict(CVMdl) возвращает метки класса, предсказанные перекрестной подтвержденной, бинарной моделью ядра (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 =
classreg.learning.partition.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 =
classreg.learning.partition.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 имеет строки n, где n является количеством наблюдений в X и имеет совпадающий тип данных, когда наблюдаемый класс маркирует (Y) используемый, чтобы обучить CVMdl. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)
kfoldPredict классифицирует наблюдения в класс, приводящий к самому высокому счету.
score — Очки классификацииОчки классификации, возвращенные как n-by-2 числовой массив, где n является количеством наблюдений в X. score(i,j) является счетом к классификации наблюдения i в класс j. Порядок классов хранится в CVMdl.ClassNames.
Если CVMdl.Trained{1}.Learner является 'logistic', то очки классификации являются апостериорными вероятностями.
Для моделей классификации ядер, необработанного classification score для классификации наблюдения x, вектор - строка, в положительный класс задан
преобразование наблюдения для расширения функции.
β является предполагаемым вектор-столбцом коэффициентов.
b является предполагаемым скалярным смещением.
Необработанный счет классификации к классификации x в отрицательный класс является −f (x). Программное обеспечение классифицирует наблюдения в класс, который приводит к положительному счету.
Если модель классификации ядер состоит из учеников логистической регрессии, то программное обеспечение применяет преобразование счета 'logit' к необработанным очкам классификации (см. ScoreTransform).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.