vals = kfoldfun(CVMdl,fun) перекрестный подтверждает функциональный fun путем применения fun к данным, хранимым в перекрестной подтвержденной модели CVMdl. Необходимо передать fun как указатель на функцию.
Обучите классификатор дерева классификации, и затем перекрестный подтвердите его с помощью пользовательской функции потерь k-сгиба.
Загрузите ирисовый набор данных Фишера.
load fisheriris
Обучите классификатор дерева классификации.
Mdl = fitctree(meas,species);
MdlClassificationTree модель.
Перекрестный подтвердите Mdl использование 10-кратной перекрестной проверки по умолчанию. Вычислите ошибку классификации (пропорция неправильно классифицированных наблюдений) для наблюдений сгиба валидации.
rng(1); % For reproducibility
CVMdl = crossval(Mdl);
L = kfoldLoss(CVMdl,'LossFun','classiferror')
L = 0.0467
Исследуйте результат когда стоимость неправильной классификации цветка как versicolor10, и стоимостью любого другого misclassification является 1. Создайте пользовательский функциональный noversicolor (показанный в конце этого примера). Эта функция приписывает стоимость 10 для неправильной классификации цветка как versicolor, и стоимость 1 для любого другого misclassification.
Вычислите среднее значение misclassification ошибка с noversicolor стоимость.
mean(kfoldfun(CVMdl,@noversicolor))
ans = 0.2267
Этот код создает функциональный noversicolor.
function averageCost = noversicolor(CMP,~,~,~,Xtest,Ytest,~)
% 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 errorend
vals — Результаты перекрестной проверки числовая матрица
Результаты перекрестной проверки, возвращенные как числовая матрица. vals содержит массивы testvals выведите, конкатенированный вертикально по всем сгибам. Например, если testvals от каждого сгиба числовой вектор из длины N, kfoldfun возвращает KFold- N числовая матрица с одной строкой на сгиб.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.