Прогнозирование ответов для модели регрессии ядра Гаусса
Прогнозирование ответов тестового набора с использованием модели регрессии ядра Гаусса для 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 - Данные предиктора, используемые для генерации ответовДанные предиктора, используемые для генерации ответов, заданные как числовая матрица или таблица.
Каждая строка X соответствует одному наблюдению, и каждый столбец соответствует одной переменной.
Для числовой матрицы:
Переменные в столбцах X должен иметь тот же порядок, что и обучаемые переменные предиктора Mdl.
Если вы тренировались Mdl использование таблицы (например, Tbl) и Tbl содержит все числовые переменные предиктора, затем X может быть числовой матрицей. Чтобы обработать числовые предикторы в Tbl в качестве категориального во время обучения, определить категориальные предикторы, используя CategoricalPredictors аргумент пары имя-значение fitrkernel. Если Tbl содержит разнородные переменные предиктора (например, числовые и категориальные типы данных) и X является числовой матрицей, то predict выдает ошибку.
Для таблицы:
predict не поддерживает многозначные переменные или массивы ячеек, отличные от массивов ячеек символьных векторов.
Если вы тренировались Mdl использование таблицы (например, Tbl), затем все переменные предиктора в X должны иметь те же имена переменных и типы данных, что и прошедшие обучение Mdl (хранится в Mdl.PredictorNames). Однако порядок столбцов X не обязательно соответствовать порядку столбцов Tbl. Также, Tbl и X может содержать дополнительные переменные (переменные ответа, веса наблюдения и т.д.), но predict игнорирует их.
Если вы тренировались Mdl используя числовую матрицу, затем имена предикторов в Mdl.PredictorNames и соответствующие имена переменных предиктора в X должно быть то же самое. Чтобы указать имена предикторов во время обучения, см. PredictorNames аргумент пары имя-значение fitrkernel. Все переменные предиктора в X должны быть числовыми векторами. X может содержать дополнительные переменные (переменные ответа, веса наблюдения и т.д.), но predict игнорирует их.
Типы данных: double | single | table
Примечания и ограничения по использованию:
predict не поддерживает высокий table данные.
Дополнительные сведения см. в разделе Массивы Tall.
fitrkernel | loss | RegressionKernel | resume
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.