Предскажите ответы с помощью модели регрессии машины вектора поддержки
yfit = predict(Mdl,X)
Mdl
— Модель регрессии SVMRegressionSVM
| объект CompactRegressionSVM
Модель регрессии SVM, заданная как модель RegressionSVM
или модель CompactRegressionSVM
, возвращенная fitrsvm
или compact
, соответственно.
X
Данные о предикторе раньше генерировали ответыДанные о предикторе раньше генерировали ответы, заданные как числовая матрица или таблица.
Каждая строка X
соответствует одному наблюдению, и каждый столбец соответствует одной переменной.
Для числовой матрицы:
Переменные, составляющие столбцы X
, должны иметь тот же порядок как переменные прогноза, которые обучили Mdl
.
Если вы обучили Mdl
с помощью таблицы (например, Tbl
), то X
может быть числовой матрицей, если Tbl
содержит все числовые переменные прогноза. Чтобы обработать числовые предикторы в Tbl
как категориальные во время обучения, идентифицируйте категориальные предикторы с помощью аргумента пары "имя-значение" CategoricalPredictors
fitrsvm
. Если Tbl
содержит неоднородные переменные прогноза (например, типы числовых и категориальных данных), и X
является числовой матрицей, то predict
выдает ошибку.
Для таблицы:
predict
не поддерживает многостолбцовые переменные и массивы ячеек кроме массивов ячеек из символьных векторов.
Если бы вы обучили Mdl
с помощью таблицы (например, Tbl
), то все переменные прогноза в X
должны иметь те же имена переменных и типы данных как те, которые обучили Mdl
(сохраненный в Mdl.PredictorNames
). Однако порядок следования столбцов X
не должен соответствовать порядку следования столбцов Tbl
. Tbl
и X
могут содержать дополнительные переменные (переменные отклика, веса наблюдения, и т.д.), но predict
игнорирует их.
Если бы вы обучили Mdl
с помощью числовой матрицы, то имена предиктора в Mdl.PredictorNames
и соответствующие имена переменной прогноза в X
должны быть тем же самым. Чтобы задать имена предиктора во время обучения, смотрите аргумент пары "имя-значение" PredictorNames
fitrsvm
. Все переменные прогноза в X
должны быть числовыми векторами. X
может содержать дополнительные переменные (переменные отклика, веса наблюдения, и т.д.), но predict
игнорирует их.
Если вы устанавливаете 'Standardize',true
в fitrsvm
обучать Mdl
, то программное обеспечение стандартизирует столбцы X
с помощью соответствующих средних значений в Mdl.Mu
и стандартных отклонений в Mdl.Sigma
.
Типы данных: table
| double
| single
yfit
— Предсказанные ответыПредсказанные ответы, возвращенные как вектор длины n, где n является количеством наблюдений в данных тренировки.
Для получения дополнительной информации о том, как предсказать ответы, смотрите уравнение 1 и уравнение 2 в Понимании Регрессии Машины Вектора Поддержки.
Загрузите набор данных carsmall
. Рассмотрите модель, которая предсказывает топливную экономичность автомобиля, учитывая ее лошадиную силу и вес. Определите объем выборки.
load carsmall
tbl = table(Horsepower,Weight,MPG);
N = size(tbl,1);
Разделите данные в наборы обучающих данных и наборы тестов. Протяните 10% данных для тестирования.
rng(10); % For reproducibility cvp = cvpartition(N,'Holdout',0.1); idxTrn = training(cvp); % Training set indices idxTest = test(cvp); % Test set indices
Обучите линейную модель регрессии SVM. Стандартизируйте данные.
Mdl = fitrsvm(tbl(idxTrn,:),'MPG','Standardize',true);
Mdl
является моделью RegressionSVM
.
Предскажите ответы для набора тестов.
YFit = predict(Mdl,tbl(idxTest,:));
Составьте таблицу, содержащую наблюдаемые значения ответа и предсказанные значения ответа рядом.
table(tbl.MPG(idxTest),YFit,'VariableNames',... {'ObservedValue','PredictedValue'})
ans=10×2 table
ObservedValue PredictedValue
_____________ ______________
14 9.4833
27 28.938
10 7.765
28 27.155
22 21.054
29 31.484
24.5 30.306
18.5 19.12
32 28.225
28 26.632
Если mdl
является перекрестной подтвержденной моделью RegressionPartitionedSVM
, используйте kfoldPredict
вместо predict
, чтобы предсказать новые значения ответа.
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
Указания и ограничения по применению:
Можно сгенерировать код C/C++ и для predict
и для update
при помощи кодера configurer или сгенерировать код только для predict
при помощи saveCompactModel
, loadCompactModel
и codegen
.
Генерация кода для predict
и update
— Создает кодер configurer при помощи learnerCoderConfigurer
и затем генерирует код при помощи generateCode
. Затем можно обновить параметры модели в сгенерированном коде, не имея необходимость регенерировать код.
Генерация кода для predict
— Сохраняет обученную модель при помощи saveCompactModel
и задает функцию точки входа, которая загружает сохраненную модель при помощи loadCompactModel
и вызывает функцию predict
. Затем используйте codegen
, чтобы сгенерировать код для функции точки входа.
Эта таблица содержит примечания об аргументах predict
. Аргументы, не включенные в эту таблицу, полностью поддержаны.
Аргумент | Примечания и ограничения |
---|---|
Mdl | Для указаний и ограничений по применению объекта модели смотрите
Генерацию кода объекта |
X |
|
Для получения дополнительной информации смотрите Введение в Генерацию кода.
CompactRegressionSVM
| RegressionSVM
| fitrsvm
| kfoldPredict
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.