predict

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

Синтаксис

Описание

пример

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.

Данные о предикторе раньше генерировали ответы в виде числовой матрицы или таблицы.

Каждая строка 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

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

свернуть все

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

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

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

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

| | |

Введенный в R2018a