Классифицируйте наблюдения в перекрестно проверенной модели классификации ядра
возвращает метки классов, предсказанные перекрестно-проверенной, двоичной моделью ядра (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);
The 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'
, тогда классификационные оценки являются апостериорными вероятностями.
Для моделей классификации ядра необработанный classification score для классификации x наблюдений, вектора-строки, в положительный класс задан как
является преобразованием наблюдения для расширения функции.
β - предполагаемый вектор-столбец коэффициентов.
b - предполагаемое скалярное смещение.
Необработанная классификационная оценка для классификации x в отрицательный класс - − f (x). Программа классифицирует наблюдения в класс, который дает положительный счет.
Если модель классификации ядра состоит из обучающихся логистической регрессии, то программное обеспечение применяет 'logit'
преобразование счета в необработанные классификационные оценки (см. ScoreTransform
).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.