Крест подтверждает функцию
vals = kfoldfun(CVMdl,fun)CVMdl — Перекрестная подтвержденная модельClassificationPartitionedECOC | модель ClassificationPartitionedEnsemble | модель ClassificationPartitionedModelПерекрестная подтвержденная модель, заданная как модель ClassificationPartitionedECOC, модель ClassificationPartitionedEnsemble или модель ClassificationPartitionedModel.
fun — Перекрестная подтвержденная функцияПерекрестная подтвержденная функция, заданная как указатель на функцию. fun имеет синтаксис
testvals = fun(CMP,Xtrain,Ytrain,Wtrain,Xtest,Ytest,Wtest)
CMP является компактной моделью, сохраненной в одном элементе свойства CVMdl .Trained.
Xtrain является учебной матрицей значений предиктора.
Ytrain является учебным массивом значений ответа.
Wtrain является учебными весами для наблюдений.
Xtest и Ytest являются тестовыми данными со связанными весами Wtest.
Возвращенному значению testvals нужен тот же размер через все сгибы.
Типы данных: function_handle
vals Результаты перекрестной проверкиРезультаты перекрестной проверки, возвращенные как числовая матрица. vals является массивами testvals вывод, конкатенированный вертикально по всем сгибам. Например, если testvals от каждого сгиба является числовым вектором длины N, kfoldfun возвращает KFold-by-N числовая матрица с одной строкой на сгиб.
Типы данных: double
Обучите классификатор дерева классификации, и затем пересекитесь, подтверждают, он с помощью пользовательского k - сворачивает функцию потерь.
Загрузите ирисовый набор данных Фишера.
load fisheriris
Обучите классификатор дерева классификации.
Mdl = fitctree(meas,species);
Mdl является моделью ClassificationTree.
Крест подтверждает Mdl с помощью 10-кратной перекрестной проверки по умолчанию. Вычислите ошибку классификации (пропорция неправильно классифицированных наблюдений) для наблюдений из сгиба.
rng(1); % For reproducibility
CVMdl = crossval(Mdl);
L = kfoldLoss(CVMdl)L =
0.0467Исследуйте результат, когда стоимостью неправильной классификации цветка как 'versicolor' является 10, и любой другой ошибкой является 1. Запишите функцию под названием noversicolor.m, который приписывает стоимость 1 для misclassification, но 10 для неправильной классификации цветка как versicolor, и сохраняет его на вашем пути MATLAB®.
function averageCost = noversicolor(CMP,Xtrain,Ytrain,Wtrain,Xtest,Ytest,Wtest) %noversicolor Example custom cross-validation function % Attributes a cost of 10 for misclassifying versicolor irises, and 1 for % the other irises. This example function requires the |fisheriris| data % set. Ypredict = predict(CMP,Xtest); misclassified = not(strcmp(Ypredict,Ytest)); % Different result classifiedAsVersicolor = strcmp(Ypredict,'versicolor'); % Index of bad decisions cost = sum(misclassified) + ... 9*sum(misclassified & classifiedAsVersicolor); % Total differences averageCost = cost/numel(Ytest); % Average error end
Вычислите среднее значение misclassification ошибка со стоимостью noversicolor.
mean(kfoldfun(CVMdl,@noversicolor))
ans =
0.2267ClassificationPartitionedECOC | ClassificationPartitionedModel | crossval | crossval | kfoldEdge | kfoldLoss | kfoldMargin | kfoldPredict
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.