Ребро классификации для Гауссовой модели классификации ядер
возвращает ребро классификации для бинарной Гауссовой модели e
= edge(Mdl
,X
,Y
)Mdl
классификации ядер использование данных о предикторе в
X
и соответствующий класс помечает в Y
.
Загрузите 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));
Оцените ребро набора обучающих данных и ребро набора тестов.
eTrain = edge(Mdl,X(trainingInds,:),Y(trainingInds))
eTrain = 2.1703
eTest = edge(Mdl,X(testInds,:),Y(testInds))
eTest = 1.5643
Выполните выбор признаков путем сравнения ребер набора тестов от многоуровневых моделей. Базирующийся только на этом критерии, классификатор с самым высоким ребром является лучшим классификатором.
Загрузите 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 XTrain = X(trainingInds,:); YTrain = Y(trainingInds); testInds = test(Partition); % Indices for the test set XTest = X(testInds,:); YTest = Y(testInds);
Случайным образом выберите половину переменных предикторов.
p = size(X,2); % Number of predictors
idxPart = randsample(p,ceil(0.5*p));
Обучите две бинарных модели классификации ядер: тот, который использует все предикторы и тот, который использует половину предикторов.
Mdl = fitckernel(XTrain,YTrain); PMdl = fitckernel(XTrain(:,idxPart),YTrain);
Mdl
и PMdl
ClassificationKernel
модели.
Оцените ребро набора тестов для каждого классификатора.
fullEdge = edge(Mdl,XTest,YTest)
fullEdge = 1.6335
partEdge = edge(PMdl,XTest(:,idxPart),YTest)
partEdge = 2.0205
На основе ребер набора тестов классификатор, который использует половину предикторов, является лучшей моделью.
Mdl
— Бинарная модель классификации ядерClassificationKernel
объект моделиБинарная модель классификации ядер в виде ClassificationKernel
объект модели. Можно создать ClassificationKernel
объект модели с помощью fitckernel
.
Y
— Метки классаКласс помечает в виде категориального, символа, или массива строк, логического или числового вектора или массива ячеек из символьных векторов.
Тип данных Y
должен совпасть с типом данных Mdl.ClassNames
. (Программное обеспечение обрабатывает строковые массивы как массивы ячеек из символьных векторов.)
Отличные классы в Y
должно быть подмножество Mdl.ClassNames
.
Если Y
символьный массив, затем каждый элемент должен соответствовать одной строке массива.
Длина Y
и количество наблюдений в X
должно быть равным.
Типы данных: categorical
| char
| string
| logical
| single
| double
| cell
weights
— Веса наблюденияВеса наблюдения в виде положительного числового вектора длины n
, где n
количество наблюдений в X
. Если вы предоставляете веса, edge
вычисляет взвешенное ребро классификации.
Значением по умолчанию являются единицы (
.n
,1)
edge
нормирует weights
суммировать до значения априорной вероятности в соответствующем классе.
Типы данных: double |
single
e
— Ребро классификацииРебро классификации, возвращенное в виде числа.
classification edge является взвешенным средним classification margins.
Один способ выбрать среди нескольких классификаторов, например, выполнить выбор признаков, состоит в том, чтобы выбрать классификатор, который дает к самому большому ребру.
classification margin для бинарной классификации, для каждого наблюдения, различия между классификационной оценкой для истинного класса и классификационной оценкой для ложного класса.
Программное обеспечение задает поле классификации для бинарной классификации как
x является наблюдением. Если истинная метка x является положительным классом, то y равняется 1, и –1 в противном случае. f (x) является классификационной оценкой положительного класса для наблюдения x. Поле классификации обычно задается как m = y f (x).
Если поля находятся по той же шкале, то они служат мерой по доверию классификации. Среди нескольких классификаторов те, которые дают к большим полям, лучше.
Для моделей классификации ядер, необработанного classification score для классификации наблюдения x, вектор-строка, в положительный класс задан
преобразование наблюдения для расширения функции.
β является предполагаемым вектор-столбцом коэффициентов.
b является предполагаемым скалярным смещением.
Необработанная классификационная оценка для классификации x в отрицательный класс является −f (x). Программное обеспечение классифицирует наблюдения в класс, который дает к положительному счету.
Если модель классификации ядер состоит из учеников логистической регрессии, то программное обеспечение применяет 'logit'
выиграйте преобразование к необработанным классификационным оценкам (см. ScoreTransform
).
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.