Предскажите ответы для Гауссовой модели регрессии ядра
Предскажите ответы набора тестов с помощью Гауссовой модели регрессии ядра в carbig
набор данных.
Загрузите carbig
набор данных.
load carbig
Задайте переменные предикторы (X
) и переменная отклика (Y
).
X = [Weight,Cylinders,Horsepower,Model_Year]; Y = MPG;
Удалите строки X
и Y
где любой массив имеет NaN
значения. Удаление строк с NaN
значения перед передающими данными к fitrkernel
может ускорить обучение и уменьшать использование памяти.
R = rmmissing([X Y]); X = R(:,1:4); Y = R(:,end);
Зарезервируйте 10% наблюдений как выборка затяжки. Извлеките обучение и протестируйте индексы из определения раздела.
rng(10) % For reproducibility N = length(Y); cvp = cvpartition(N,'Holdout',0.1); idxTrn = training(cvp); % Training set indices idxTest = test(cvp); % Test set indices
Стандартизируйте обучающие данные и обучите модель ядра регрессии.
Xtrain = X(idxTrn,:);
Ytrain = Y(idxTrn);
[Ztrain,tr_mu,tr_sigma] = zscore(Xtrain); % Standardize the training data
tr_sigma(tr_sigma==0) = 1;
Mdl = fitrkernel(Ztrain,Ytrain)
Mdl = RegressionKernel ResponseName: 'Y' Learner: 'svm' NumExpansionDimensions: 128 KernelScale: 1 Lambda: 0.0028 BoxConstraint: 1 Epsilon: 0.8617 Properties, Methods
Mdl
RegressionKernel
модель.
Стандартизируйте тестовые данные с помощью того же среднего и стандартного отклонения столбцов обучающих данных. Предскажите ответы для набора тестов.
Xtest = X(idxTest,:);
Ztest = (Xtest-tr_mu)./tr_sigma; % Standardize the test data
Ytest = Y(idxTest);
YFit = predict(Mdl,Ztest);
Составьте таблицу, содержащую первые 10 наблюдаемых значений ответа и предсказанные значения ответа.
table(Ytest(1:10),YFit(1:10),'VariableNames',... {'ObservedValue','PredictedValue'})
ans=10×2 table
ObservedValue PredictedValue
_____________ ______________
18 17.616
14 25.799
24 24.141
25 25.018
14 13.637
14 14.557
18 18.584
27 26.096
21 25.031
13 13.324
Оцените потерю регрессии набора тестов с помощью функции потерь среднеквадратической ошибки.
L = loss(Mdl,Ztest,Ytest)
L = 9.2664
Mdl
— Модель регрессии ядраRegressionKernel
объект моделиМодель регрессии ядра в виде RegressionKernel
объект модели. Можно создать RegressionKernel
объект модели с помощью fitrkernel
.
X
— Данные о предиктореДанные о предикторе в виде n-by-p числовая матрица, где n является количеством наблюдений и p, являются количеством предикторов. p должен быть равен количеству предикторов, используемых, чтобы обучить Mdl
.
Типы данных: single
| double
Эта функция полностью поддерживает "высокие" массивы. Можно использовать модели, обученные или на или на высоких данных в оперативной памяти с этой функцией.
Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
RegressionKernel
| fitrkernel
| loss
| resume
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.