Поля классификации для наблюдений, не используемых в обучении
возвращает перекрестные подтвержденные поля классификации, полученные перекрестным подтвержденным, двоичным файлом, линейной моделью m = kfoldMargin(CVMdl)CVMdl классификации. Таким образом, для каждого сгиба, kfoldMargin оценивает поля классификации для наблюдений, что это протягивает, когда это обучает использование всех других наблюдений.
m содержит поля классификации для каждой силы регуляризации в линейных моделях классификации, которые включают CVMdl.
CVMdl — Перекрестный подтвержденный, двоичный файл, линейная модель классификацииClassificationPartitionedLinear объект моделиПерекрестный подтвержденный, двоичный файл, линейная модель классификации, заданная как ClassificationPartitionedLinear объект модели. Можно создать ClassificationPartitionedLinear модель с помощью fitclinear и определение любой из перекрестной проверки, аргументов пары "имя-значение", например, CrossVal.
Чтобы получить оценки, kfoldMargin применяется, те же данные раньше перекрестный подтверждали линейную модель классификации (X и Y).
m — Перекрестные подтвержденные поля классификацииПерекрестные подтвержденные поля классификации, возвращенные как числовой вектор или матрица.
m n-by-L, где n является количеством наблюдений в данных, которые создали CVMdl (см. X и Y) и L является количеством сильных мест регуляризации в CVMdl (то есть, numel(CVMdl.Trained{1}.Lambda)).
m ( перекрестное подтвержденное поле классификации наблюдения i с помощью линейной модели классификации, которая имеет силу регуляризации iJ)CVMdl. Обученный {1}.Lambda (.j)
Типы данных: single | double
Загрузите набор данных NLP.
load nlpdataX разреженная матрица данных о предикторе и Y категориальный вектор меток класса. В данных существует больше чем два класса.
Модели должны идентифицировать, являются ли подсчеты слов в веб-странице из документации Statistics and Machine Learning Toolbox™. Так, идентифицируйте метки, которые соответствуют веб-страницам документации Statistics and Machine Learning Toolbox™.
Ystats = Y == 'stats';Перекрестный подтвердите двоичный файл, линейная модель классификации, которая может идентифицировать, являются ли подсчеты слов в веб-странице документации из документации Statistics and Machine Learning Toolbox™.
rng(1); % For reproducibility CVMdl = fitclinear(X,Ystats,'CrossVal','on');
CVMdl ClassificationPartitionedLinear модель. По умолчанию программное обеспечение реализует 10-кратную перекрестную проверку. Можно изменить количество сгибов с помощью 'KFold' аргумент пары "имя-значение".
Оцените перекрестные подтвержденные поля.
m = kfoldMargin(CVMdl); size(m)
ans = 1×2
31572 1
m 31572 1 вектор. m(j) среднее значение полей из сгиба для наблюдения j.
Постройте поля k-сгиба с помощью диаграмм.
figure;
boxplot(m);
h = gca;
h.YLim = [-5 30];
title('Distribution of Cross-Validated Margins')
Один способ выполнить выбор признаков состоит в том, чтобы сравнить поля k-сгиба от многоуровневых моделей. Базирующийся только на этом критерии, классификатор с большими полями является лучшим классификатором.
Загрузите набор данных NLP. Предварительно обработайте данные как в Оценочных Полях Перекрестной проверки k-сгиба.
load nlpdata Ystats = Y == 'stats'; X = X';
Создайте эти два набора данных:
fullX содержит все предикторы.
partX содержит 1/2 предикторов, выбранных наугад.
rng(1); % For reproducibility p = size(X,1); % Number of predictors halfPredIdx = randsample(p,ceil(0.5*p)); fullX = X; partX = X(halfPredIdx,:);
Перекрестный подтвердите два двоичных файла, линейные модели классификации: тот, который использует все предикторы и тот, который использует половину предикторов. Оптимизируйте использование целевой функции SpaRSA и укажите, что наблюдения соответствуют столбцам.
CVMdl = fitclinear(fullX,Ystats,'CrossVal','on','Solver','sparsa',... 'ObservationsIn','columns'); PCVMdl = fitclinear(partX,Ystats,'CrossVal','on','Solver','sparsa',... 'ObservationsIn','columns');
CVMdl и PCVMdl ClassificationPartitionedLinear модели.
Оцените поля k-сгиба для каждого классификатора. Постройте распределение наборов полей k-сгиба с помощью диаграмм.
fullMargins = kfoldMargin(CVMdl); partMargins = kfoldMargin(PCVMdl); figure; boxplot([fullMargins partMargins],'Labels',... {'All Predictors','Half of the Predictors'}); h = gca; h.YLim = [-30 60]; title('Distribution of Cross-Validated Margins')

Распределения полей этих двух классификаторов подобны.
Чтобы определить хорошую силу штрафа лассо для линейной модели классификации, которая использует ученика логистической регрессии, сравните распределения полей k-сгиба.
Загрузите набор данных NLP. Предварительно обработайте данные как в Оценочных Полях Перекрестной проверки k-сгиба.
load nlpdata Ystats = Y == 'stats'; X = X';
Создайте набор 11 логарифмически распределенных сильных мест регуляризации от через .
Lambda = logspace(-8,1,11);
Перекрестный подтвердите двоичный файл, линейная модель классификации использование 5-кратной перекрестной проверки, и это использует каждые из сильных мест регуляризации. Оптимизируйте использование целевой функции SpaRSA. Понизьте допуск на градиент целевой функции к 1e-8.
rng(10); % For reproducibility CVMdl = fitclinear(X,Ystats,'ObservationsIn','columns','KFold',5, ... 'Learner','logistic','Solver','sparsa','Regularization','lasso', ... 'Lambda',Lambda,'GradientTolerance',1e-8)
CVMdl =
classreg.learning.partition.ClassificationPartitionedLinear
CrossValidatedModel: 'Linear'
ResponseName: 'Y'
NumObservations: 31572
KFold: 5
Partition: [1×1 cvpartition]
ClassNames: [0 1]
ScoreTransform: 'none'
Properties, Methods
CVMdl ClassificationPartitionedLinear модель. Поскольку fitclinear реализует 5-кратную перекрестную проверку, CVMdl содержит 5 ClassificationLinear модели, которые программное обеспечение обучает на каждом сгибе.
Оцените поля k-сгиба для каждой силы регуляризации.
m = kfoldMargin(CVMdl); size(m)
ans = 1×2
31572 11
m 31572 11 матрица перекрестных подтвержденных полей для каждого наблюдения. Столбцы соответствуют сильным местам регуляризации.
Постройте поля k-сгиба для каждой силы регуляризации. Поскольку баллы логистической регрессии находятся в [0,1], поля находятся в [-1,1]. Повторно масштабируйте поля, чтобы помочь идентифицировать силу регуляризации, которая максимизирует поля по сетке.
figure boxplot(10000.^m) ylabel('Exponentiated test-sample margins') xlabel('Lambda indices')

Несколько значений Lambda дайте к распределениям поля k-сгиба, которые уплотнены около 10000. Более высокие значения lambda приводят к разреженности переменного предиктора, которая является хорошим качеством классификатора.
Выберите силу регуляризации, которая происходит непосредственно перед тем, как центры распределений поля k-сгиба начинают уменьшаться.
LambdaFinal = Lambda(5);
Обучите линейную модель классификации использование целого набора данных и задайте желаемую силу регуляризации.
MdlFinal = fitclinear(X,Ystats,'ObservationsIn','columns', ... 'Learner','logistic','Solver','sparsa','Regularization','lasso', ... 'Lambda',LambdaFinal);
Чтобы оценить метки для новых наблюдений, передайте MdlFinal и новые данные к predict.
classification margin для бинарной классификации, для каждого наблюдения, различия между счетом классификации к истинному классу и счетом классификации к ложному классу.
Программное обеспечение задает поле классификации для бинарной классификации как
x является наблюдением. Если истинная метка x является положительным классом, то y равняется 1, и –1 в противном случае. f (x) является счетом классификации положительных классов к наблюдению x. Поле классификации обычно задается как m = y f (x).
Если поля находятся по той же шкале, то они служат мерой по уверенности классификации. Среди нескольких классификаторов те, которые дают к большим полям, лучше.
Для линейных моделей классификации, необработанного classification score для классификации наблюдения x, вектор-строка, в положительный класс задан
Для модели с силой регуляризации j, предполагаемый вектор-столбец коэффициентов (свойство Beta(:,j) модели) и предполагаемое, скалярное смещение (свойство Bias(j) модели).
Необработанный счет классификации к классификации x в отрицательный класс является –f (x). Программное обеспечение классифицирует наблюдения в класс, который дает к положительному счету.
Если линейная модель классификации состоит из учеников логистической регрессии, то программное обеспечение применяет 'logit' выиграйте преобразование к необработанным баллам классификации (см. ScoreTransform).
ClassificationLinear | ClassificationPartitionedLinear | kfoldEdge | kfoldPredict | margin
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.