предсказать

Предскажите ответы для Гауссовой модели регрессии ядра

Синтаксис

YFit = predict(Mdl,X)

Описание

пример

YFit = predict(Mdl,X) возвращает предсказанные ответы для каждого наблюдения в данных о предикторе X на основе бинарной Гауссовой модели Mdl регрессии ядра.

Примеры

свернуть все

Предскажите ответы набора тестов с помощью Гауссовой модели регрессии ядра для набора данных 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

Входные параметры

свернуть все

Модель регрессии ядра, заданная как объект модели RegressionKernel. Можно создать объект модели RegressionKernel с помощью fitrkernel.

Данные о предикторе, заданные как n-by-p числовая матрица, где n является количеством наблюдений и p, являются количеством предикторов. p должен быть равен количеству предикторов, используемых, чтобы обучить Mdl.

Типы данных: single | double

Выходные аргументы

свернуть все

Предсказанные ответы, возвращенные как числовой вектор.

YFit является n-by-1 вектор совпадающего типа данных, когда данные об ответе (Y) раньше обучали Mdl, где n является количеством наблюдений в X.

Расширенные возможности

Смотрите также

| | |

Введенный в R2018a