exponenta event banner

предсказать

Прогнозирование ответов для модели регрессии ядра Гаусса

Описание

пример

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