Поля классификации для наблюдений, не используемых при обучении
возвращает поля классификации с перекрестной проверкой, полученные с помощью модели классификации с перекрестной проверкой, двоичной, линейной классификацией 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 с использованием линейной классификационной модели, которая имеет силу регуляризации i,j)CVMdl.Trained{1}.Lambda(.j)
Типы данных: single | double
Загрузите набор данных NLP.
load nlpdataX является разреженной матрицей данных предиктора, и Y является категориальным вектором меток класса. В данных имеется более двух классов.
Модели должны определять, содержится ли подсчет слов на веб-странице в документации Toolbox™ статистики и машинного обучения. Таким образом, определите метки, соответствующие страницам документации Toolbox™ статистики и машинного обучения.
Ystats = Y == 'stats';Перекрестная проверка бинарной модели линейной классификации, которая может определить, находится ли подсчет слов на веб-странице документации из документации 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);
Перекрестная проверка двоичной модели линейной классификации с использованием пятикратной перекрестной проверки, которая использует каждую из сильных сторон регуляризации. Оптимизируйте целевую функцию с помощью 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 =
ClassificationPartitionedLinear
CrossValidatedModel: 'Linear'
ResponseName: 'Y'
NumObservations: 31572
KFold: 5
Partition: [1x1 cvpartition]
ClassNames: [0 1]
ScoreTransform: 'none'
Properties, Methods
CVMdl является ClassificationPartitionedLinear модель. Поскольку fitclinear реализует пятикратную перекрестную проверку, 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. Более высокие значения лямбда приводят к предикторной переменной разреженности, которая является хорошим качеством классификатора.
Выберите силу регуляризации, которая возникает непосредственно перед тем, как начнут уменьшаться центры k-кратных распределений запаса.
LambdaFinal = Lambda(5);
Обучение модели линейной классификации с использованием всего набора данных и определение желаемой силы регуляризации.
MdlFinal = fitclinear(X,Ystats,'ObservationsIn','columns', ... 'Learner','logistic','Solver','sparsa','Regularization','lasso', ... 'Lambda',LambdaFinal);
Чтобы оценить метки для новых наблюдений, передайте MdlFinal и новые данные для predict.
Поле классификации для двоичной классификации является для каждого наблюдения разницей между оценкой классификации для истинного класса и оценкой классификации для ложного класса.
Программа определяет поле классификации для двоичной классификации как
x).
x - это наблюдение. Если истинная метка x является положительным классом, то y равно 1, а в противном случае -1. f (x) - показатель классификации положительного класса для наблюдения x. Обычно запас классификации определяется как m = yf (x).
Если поля находятся в одной шкале, то они служат мерой достоверности классификации. Среди нескольких классификаторов лучше те, которые дают большую маржу.
Для моделей линейной классификации необработанный показатель классификации для классификации наблюдения x, вектора строки, в положительный класс определяется как
+ bj.
Для модели с силой регуляризации j - оцененный вектор-столбец коэффициентов (свойство модели Beta(:,j)) и - оценочное скалярное смещение (свойство модели Bias(j)).
Необработанный показатель классификации для классификации x в отрицательный класс равен -f (x). Программа классифицирует наблюдения в класс, который дает положительную оценку.
Если модель линейной классификации состоит из учащихся с логистической регрессией, то программное обеспечение применяет 'logit' преобразование баллов в необработанные оценки классификации (см. ScoreTransform).
ClassificationLinear | ClassificationPartitionedLinear | kfoldEdge | kfoldPredict | margin
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.