Классифицируйте наблюдения на перекрестную подтвержденную модель классификации ядер
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.