Конфигуратор кодера для машины опорных векторов (SVM) регрессионой модели
A RegressionSVMCoderConfigurer объект является конфигуратором кодера модели регрессии SVM (RegressionSVM или CompactRegressionSVM).
Конфигуратор кодера предлагает удобные функции, чтобы сконфигурировать опции генерации кода, сгенерировать код C/C + + и обновить параметры модели в сгенерированном коде.
Сконфигурируйте опции генерации кода и укажите атрибуты кодера для параметров модели SVM с помощью свойств объекта.
Сгенерируйте код C/C + + для predict и update функции регрессионной модели SVM при помощи generateCode. Для генерации кода C/C + + требуется MATLAB® Coder™.
Обновите параметры модели в сгенерированном коде C/C + + без необходимости регенерировать код. Эта функция уменьшает усилия, необходимые для регенерации, перенаправления и повторной проверки кода C/C + + при переобучении модели SVM с новыми данными или настройками. Перед обновлением параметров модели используйтеvalidatedUpdateInputs чтобы подтвердить и извлечь параметры модели для обновления.
Этот график потока показывает рабочий процесс генерации кода с помощью конфигуратора кодера.

Для указаний по применению генерации кода и ограничений регрессионой модели SVM, смотрите разделы Генерации кода CompactRegressionSVM, predict, и update.
После обучения регрессионой модели SVM при помощи fitrsvm, создайте конфигуратор кодера для модели при помощи learnerCoderConfigurer. Используйте свойства конфигуратора кодера, чтобы задать атрибуты кодера predict и update аргументы. Затем используйте generateCode для генерации кода C/C + + на основе заданных атрибутов кодера.
predict АргументыСвойства, перечисленные в этом разделе, определяют атрибуты кодера predict аргументы функции в сгенерированном коде.
X - Атрибуты кодера данных предиктораLearnerCoderInput объектАтрибуты кодера данных предиктора, чтобы передать в сгенерированный код C/C + + для predict функция регрессионной модели SVM, заданная как LearnerCoderInput объект.
Когда вы создаете конфигуратор кодера при помощи learnerCoderConfigurer function, the входного параметра X определяет значения по умолчанию для LearnerCoderInput атрибуты кодера:
SizeVector - Значение по умолчанию является размером массива входных X.
VariableDimensions - Это значение [0 0](по умолчанию) или [1 0].
[0 0] указывает, что размер массива фиксирован, как указано в SizeVector.
[1 0] указывает, что массив имеет строки переменного размера и столбцы фиксированного размера. В этом случае первое значение SizeVector - верхняя граница для количества строк и второе значение SizeVector количество столбцов.
DataType - Это значение single или double. Тип данных по умолчанию зависит от типа данных входных X.
Tunability - Это значение должно быть true, что означает, что predict в сгенерированный код C/C + + всегда включают данные предиктора в качестве входов.
Можно изменить атрибуты кодера с помощью записи через точку. Например, чтобы сгенерировать код C/C + +, который принимает данные предиктора со 100 наблюдениями трех переменных предиктора, задайте эти атрибуты кодера X для конфигуратора кодера configurer:
configurer.X.SizeVector = [100 3];
configurer.X.DataType = 'double';
configurer.X.VariableDimensions = [0 0];[0 0] указывает, что первое и вторые измерения X (количество наблюдений и количество переменных предиктора, соответственно) имеют фиксированные размеры.Чтобы позволить сгенерированному коду C/C + + принять данные предиктора с до 100 наблюдениями, задайте эти атрибуты кодера X:
configurer.X.SizeVector = [100 3];
configurer.X.DataType = 'double';
configurer.X.VariableDimensions = [1 0];[1 0] указывает, что первая размерность X (количество наблюдений) имеет переменный размер и второе измерение X (количество переменных предиктора) имеет фиксированный размер. Заданное количество наблюдений, 100 в этом примере, становится максимально допустимым количеством наблюдений в сгенерированном коде C/C + +. Чтобы разрешить любое количество наблюдений, задайте границу следующим Inf.
NumOutputs - Количество выходов в predictКоличество выходных аргументов, возвращаемых из сгенерированного кода C/C + + для predict функция регрессионной модели SVM, заданная как 1. predict возвращает yfit (предсказанные отклики) в сгенерированном коде C/C + +.
The NumOutputs свойство эквивалентно '-nargout' опция компилятора codegen (MATLAB Coder). Эта опция задает количество выходных аргументов в функции точки входа генерации кода. Функция объекта generateCode генерирует две функции точки входа - predict.m и update.m для predict и update функции регрессионной модели SVM, соответственно - и генерирует код C/C + + для двух функций точки входа. Заданное значение для NumOutputs свойство соответствует количеству выходных аргументов в функции точки входа predict.m.
Типы данных: single | double
update АргументыСвойства, перечисленные в этом разделе, определяют атрибуты кодера update аргументы функции в сгенерированном коде. update функция принимает обученную модель и новые параметры модели в качестве входных параметров и возвращает обновленную версию модели, которая содержит новые параметры. Чтобы включить обновление параметров в сгенерированном коде, необходимо перед генерацией кода задать атрибуты кодера параметров. Использование LearnerCoderInput объект для задания атрибутов кодера каждого параметра. Значения атрибутов по умолчанию основаны на параметрах модели в входной параметр Mdl из learnerCoderConfigurer.
Alpha - Атрибуты кодера двойственных коэффициентов задачиLearnerCoderInput объектАтрибуты кодера коэффициентов двойственной задачи (Alpha модели регрессии SVM), заданный как LearnerCoderInput объект.
Значения атрибутов по умолчанию LearnerCoderInput Объекты основаны на входном параметре Mdl из learnerCoderConfigurer:
SizeVector - Значение по умолчанию [s,1], где s количество поддержки векторов в Mdl.
VariableDimensions - Это значение [0 0](по умолчанию) или [1 0].
[0 0] указывает, что размер массива фиксирован, как указано в SizeVector.
[1 0] указывает, что массив имеет строки переменного размера и столбцы фиксированного размера. В этом случае первое значение SizeVector - верхняя граница для количества строк и второе значение SizeVector количество столбцов.
DataType - Это значение 'single' или 'double'. Тип данных по умолчанию соответствует типу данных обучающих данных, которые вы используете для обучения Mdl.
Tunability - Если вы обучаете модель с линейной функцией ядра и отбрасываете векторы поддержки при помощи discardSupportVectors, это значение должно быть false. В противном случае это значение должно быть true.
Beta - Атрибуты кодера основных линейных коэффициентов задачиLearnerCoderInput объектАтрибуты кодера основных линейных коэффициентов задачи (Beta модели регрессии SVM), заданный как LearnerCoderInput объект.
Значения атрибутов по умолчанию LearnerCoderInput Объекты основаны на входном параметре Mdl из learnerCoderConfigurer:
SizeVector - Это значение должно быть [p 1], где p количество предикторов в Mdl.
VariableDimensions - Это значение должно быть [0 0], что указывает, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение 'single' или 'double'. Тип данных по умолчанию соответствует типу данных обучающих данных, которые вы используете для обучения Mdl.
Tunability - Если вы обучаете модель с линейной функцией ядра и отбрасываете векторы поддержки при помощи discardSupportVectors, это значение должно быть true. В противном случае это значение должно быть false.
Bias - Атрибуты кодера термина смещенияLearnerCoderInput объектАтрибуты кодера термина смещения (Bias модели регрессии SVM), заданный как LearnerCoderInput объект.
Значения атрибутов по умолчанию LearnerCoderInput Объекты основаны на входном параметре Mdl из learnerCoderConfigurer:
SizeVector - Это значение должно быть [1 1].
VariableDimensions - Это значение должно быть [0 0], что указывает, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение 'single' или 'double'. Тип данных по умолчанию соответствует типу данных обучающих данных, которые вы используете для обучения Mdl.
Tunability - Это значение должно быть true.
Mu - Атрибуты кодера средств предиктораLearnerCoderInput объектАтрибуты кодера средства предиктора (Mu модели регрессии SVM), заданный как LearnerCoderInput объект.
Значения атрибутов по умолчанию LearnerCoderInput Объекты основаны на входном параметре Mdl из learnerCoderConfigurer:
SizeVector - Если вы обучаете Mdl использование стандартизированных данных предиктора путем определения , это значение должно быть 'Standardize'Правда[1,p], где p количество предикторов в Mdl. В противном случае это значение должно быть [0,0].
VariableDimensions - Это значение должно быть [0 0], что указывает, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение 'single' или 'double'. Тип данных по умолчанию соответствует типу данных обучающих данных, которые вы используете для обучения Mdl.
Tunability - Если вы обучаете Mdl использование стандартизированных данных предиктора путем определения , значение по умолчанию является 'Standardize'Правдаtrue. В противном случае это значение должно быть false.
Scale - Атрибуты кодера параметра шкалы ядраLearnerCoderInput объектАтрибуты кодера параметра шкалы ядра (KernelParameters.Scale модели регрессии SVM), заданный как LearnerCoderInput объект.
Значения атрибутов по умолчанию LearnerCoderInput Объекты основаны на входном параметре Mdl из learnerCoderConfigurer:
SizeVector - Это значение должно быть [1 1].
VariableDimensions - Это значение должно быть [0 0], что указывает, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение 'single' или 'double'. Тип данных по умолчанию соответствует типу данных обучающих данных, которые вы используете для обучения Mdl.
Tunability - Значение по умолчанию true.
Sigma - Атрибуты кодера стандартных отклонений предиктораLearnerCoderInput объектАтрибуты кодера стандартных отклонений предиктора (Sigma модели регрессии SVM), заданный как LearnerCoderInput объект.
Значения атрибутов по умолчанию LearnerCoderInput Объекты основаны на входном параметре Mdl из learnerCoderConfigurer:
SizeVector - Если вы обучаете Mdl использование стандартизированных данных предиктора путем определения , это значение должно быть 'Standardize'Правда[1,p], где p количество предикторов в Mdl. В противном случае это значение должно быть [0,0].
VariableDimensions - Это значение должно быть [0 0], что указывает, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение 'single' или 'double'. Тип данных по умолчанию соответствует типу данных обучающих данных, которые вы используете для обучения Mdl.
Tunability - Если вы обучаете Mdl использование стандартизированных данных предиктора путем определения , значение по умолчанию является 'Standardize'Правдаtrue. В противном случае это значение должно быть false.
SupportVectors - Атрибуты кодера поддерживающих векторовLearnerCoderInput объектАтрибуты кодера векторов поддержки (SupportVectors модели регрессии SVM), заданный как LearnerCoderInput объект.
Значения атрибутов по умолчанию LearnerCoderInput Объекты основаны на входном параметре Mdl из learnerCoderConfigurer:
SizeVector - Значение по умолчанию [s,p], где s количество поддержки векторов и p количество предикторов в Mdl.
VariableDimensions - Это значение [0 0](по умолчанию) или [1 0].
[0 0] указывает, что размер массива фиксирован, как указано в SizeVector.
[1 0] указывает, что массив имеет строки переменного размера и столбцы фиксированного размера. В этом случае первое значение SizeVector - верхняя граница для количества строк и второе значение SizeVector количество столбцов.
DataType - Это значение 'single' или 'double'. Тип данных по умолчанию соответствует типу данных обучающих данных, которые вы используете для обучения Mdl.
Tunability - Если вы обучаете модель с линейной функцией ядра и отбрасываете векторы поддержки при помощи discardSupportVectors, это значение должно быть false. В противном случае это значение должно быть true.
OutputFileName - Имя файла сгенерированного кода C/C + +'RegressionSVMModel' (по умолчанию) | вектор символовИмя файла сгенерированного кода C/C + +, заданное как вектор символов.
Функция объекта generateCode от RegressionSVMCoderConfigurer генерирует код C/C + + с использованием этого имени файла.
Имя файла не должно содержать пространства, поскольку они могут привести к отказам генерации кода в определенных строениях операционной системы. Кроме того, имя должно быть допустимым именем функции MATLAB.
После создания конфигуратора кодера configurerимя файла можно задать с помощью записи через точку.
configurer.OutputFileName = 'myModel';Типы данных: char
Verbose - Уровень подробностейtrue (логический 1) (по умолчанию) | false (логический 0)Уровень подробностей, заданный как true (логический 1) или false (логический 0). Уровень подробностей управляет отображением уведомлений в командной строке.
| Значение | Описание |
|---|---|
true (логический 1) | Программа отображает уведомления, когда изменения атрибутов кодера параметра приводят к изменениям для других зависимых параметров. |
false (логический 0) | Программа не отображает уведомления. |
Чтобы включить обновление параметров модели машинного обучения в сгенерированном коде, необходимо сконфигурировать атрибуты кодера параметров перед генерацией кода. Атрибуты параметров кодера зависят друг от друга, поэтому программное обеспечение сохраняет зависимости как ограничения строения. Если вы изменяете атрибуты кодера параметра с помощью конфигуратора кодера, и изменение требует последующих изменений других зависимых параметров, чтобы удовлетворить ограничениям строения, то программное обеспечение изменяет атрибуты кодера зависимых параметров. Уровень подробностей определяет, отображает ли программа уведомления об этих последующих изменениях.
После создания конфигуратора кодера configurerможно изменить уровень подробностей при помощи записи через точку.
configurer.Verbose = false;
Типы данных: logical
Чтобы настроить рабочий процесс генерации кода, используйте generateFiles функция и следующие три свойства с codegen (MATLAB Coder), вместо использования generateCode функция.
После генерации двух файлов функции точки входа (predict.m и update.m) при помощи generateFiles функция, вы можете изменять эти файлы в соответствии с вашим рабочим процессом генерации кода. Для примера можно изменить predict.m файл, включающий предварительную обработку данных, или можно добавить эти функции точки входа к другому проекту генерации кода. Затем можно сгенерировать код C/C + + при помощи codegen (MATLAB Coder) функцию и codegen аргументы, соответствующие измененным функциям точки входа или проекту генерации кода. Используйте три свойства, описанные в этом разделе, как начальная точка, чтобы задать codegen аргументы.
CodeGenerationArguments — codegen аргументыЭто свойство доступно только для чтения.
codegen (MATLAB Coder) аргументы, заданные как массив ячеек.
Это свойство позволяет вам настроить рабочий процесс генерации кода. Используйте generateCode если вам не нужно настраивать рабочий процесс.
Вместо использования generateCode с помощью конфигуратора кодера configurer, можно сгенерировать код C/C + + следующим образом:
generateFiles(configurer)
cgArgs = configurer.CodeGenerationArguments;
codegen(cgArgs{:})cgArgs соответственно перед вызовом codegen.
Если вы изменяете другие свойства configurerпрограммное обеспечение обновляет CodeGenerationArguments соответственно.
Типы данных: cell
PredictInputs - Входной параметр predictcoder.PrimitiveType объектЭто свойство доступно только для чтения.
Входной параметр функции точки входа predict.m для генерации кода, заданной как массив ячеек coder.PrimitiveType (MATLAB Coder) объект. The coder.PrimitiveType объект включает атрибуты кодера данных предиктора, хранящихся в X свойство.
Если вы изменяете атрибуты кодера данных предиктора, то программное обеспечение обновляет coder.PrimitiveType объект соответственно.
The coder.PrimitiveType объект в PredictInputs эквивалентно configurer.CodeGenerationArguments{6} для конфигуратора кодера configurer.
Типы данных: cell
UpdateInputs - Список настраиваемых входных параметров updatecoder.PrimitiveType объектыЭто свойство доступно только для чтения.
Список настраиваемых входных параметров функции точки входа update.m для генерации кода, заданной как массив ячеек структуры, включающий coder.PrimitiveType (MATLAB Coder) объекты. Каждый coder.PrimitiveType объект включает атрибуты кодера настраиваемого параметра модели машинного обучения.
Если вы изменяете атрибуты кодера параметра модели с помощью свойств конфигуратора кодера (update Свойства аргументов), затем программное обеспечение обновляет соответствующий coder.PrimitiveType объект соответственно. Если вы задаете Tunability атрибут параметра модели машинного обучения как false, затем программное обеспечение удаляет соответствующие coder.PrimitiveType объект из UpdateInputs список.
Структура в UpdateInputs эквивалентно configurer.CodeGenerationArguments{3} для конфигуратора кодера configurer.
Типы данных: cell
generateCode | Сгенерируйте код C/C + + с помощью конфигуратора кодера |
generateFiles | Сгенерируйте файлы MATLAB для генерации кода с помощью конфигуратора кодера |
validatedUpdateInputs | Валидация и экстракция параметров модели машинного обучения для обновления |
Обучите модель машинного обучения, а затем сгенерируйте код для predict и update функций модели при помощи конфигуратора кодера.
Загрузите carsmall набор данных и train регрессионной модели машины опорных векторов (SVM).
load carsmall
X = [Horsepower,Weight];
Y = MPG;
Mdl = fitrsvm(X,Y);Mdl является RegressionSVM объект.
Создайте конфигуратор кодера для RegressionSVM моделировать при помощи learnerCoderConfigurer. Задайте данные предиктора X. The learnerCoderConfigurer функция использует входную X конфигурирование атрибутов кодера predict входной параметр функции.
configurer = learnerCoderConfigurer(Mdl,X)
configurer =
RegressionSVMCoderConfigurer with properties:
Update Inputs:
Alpha: [1x1 LearnerCoderInput]
SupportVectors: [1x1 LearnerCoderInput]
Scale: [1x1 LearnerCoderInput]
Bias: [1x1 LearnerCoderInput]
Predict Inputs:
X: [1x1 LearnerCoderInput]
Code Generation Parameters:
NumOutputs: 1
OutputFileName: 'RegressionSVMModel'
Properties, Methods
configurer является RegressionSVMCoderConfigurer объект, который является конфигуратором кодера RegressionSVM объект.
Чтобы сгенерировать код C/C + +, вы должны иметь доступ к компилятору C/C + +, который настроен правильно. MATLAB Coder находит и использует поддерживаемый, установленный компилятор. Можно использовать mex -setup чтобы просмотреть и изменить компилятор по умолчанию. Для получения дополнительной информации см. раздел «Изменение компилятора по умолчанию».
Сгенерируйте код для predict и update функции регрессионной модели SVM (Mdl) с настройками по умолчанию.
generateCode(configurer)
generateCode creates these files in output folder: 'initialize.m', 'predict.m', 'update.m', 'RegressionSVMModel.mat' Code generation successful.
The generateCode функция завершает следующие действия:
Сгенерируйте файлы MATLAB, необходимые для генерации кода, включая две функции точки входа predict.m и update.m для predict и update функции Mdl, соответственно.
Создайте MEX-функцию с именем RegressionSVMModel для двух функций точки входа.
Создайте код для MEX-функции в codegen\mex\RegressionSVMModel папка.
Скопируйте MEX-функцию в текущую папку.
Отображение содержимого predict.m, update.m, и initialize.m файлы при помощи type функция.
type predict.mfunction varargout = predict(X,varargin) %#codegen
% Autogenerated by MATLAB, 23-Apr-2021 12:43:25
[varargout{1:nargout}] = initialize('predict',X,varargin{:});
end
type update.mfunction update(varargin) %#codegen
% Autogenerated by MATLAB, 23-Apr-2021 12:43:25
initialize('update',varargin{:});
end
type initialize.mfunction [varargout] = initialize(command,varargin) %#codegen
% Autogenerated by MATLAB, 23-Apr-2021 12:43:25
coder.inline('always')
persistent model
if isempty(model)
model = loadLearnerForCoder('RegressionSVMModel.mat');
end
switch(command)
case 'update'
% Update struct fields: Alpha
% SupportVectors
% Scale
% Bias
model = update(model,varargin{:});
case 'predict'
% Predict Inputs: X
X = varargin{1};
if nargin == 2
[varargout{1:nargout}] = predict(model,X);
else
PVPairs = cell(1,nargin-2);
for i = 1:nargin-2
PVPairs{1,i} = varargin{i+1};
end
[varargout{1:nargout}] = predict(model,X,PVPairs{:});
end
end
end
Обучите модель машины опорных векторов (SVM) с помощью частичного набора данных и создайте конфигуратор кодера для модели. Используйте свойства конфигуратора кодера, чтобы задать атрибуты кодера параметров модели SVM. Используйте функцию объекта конфигуратора кодера, чтобы сгенерировать код С, который предсказывает отклики для новых данных предиктора. Затем переобучите модель, используя весь набор данных и параметры обновления в сгенерированном коде, не регенерируя код.
Обучите модель
Загрузите carsmall набор данных и train регрессионной модели SVM с использованием первых 50 наблюдений.
load carsmall
X = [Horsepower,Weight];
Y = MPG;
Mdl = fitrsvm(X(1:50,:),Y(1:50));Mdl является RegressionSVM объект.
Создайте конфигуратор кодера
Создайте конфигуратор кодера для RegressionSVM моделировать при помощи learnerCoderConfigurer. Задайте данные предиктора X. The learnerCoderConfigurer функция использует входную X конфигурирование атрибутов кодера predict входной параметр функции.
configurer = learnerCoderConfigurer(Mdl,X(1:50,:));
configurer является RegressionSVMCoderConfigurer объект, который является конфигуратором кодера RegressionSVM объект.
Задайте атрибуты параметров кодера
Задайте атрибуты кодера параметров регрессионой модели SVM, чтобы можно было обновить параметры в сгенерированном коде после переобучения модели. Этот пример задает атрибуты кодера данных предиктора, которые вы хотите передать сгенерированному коду, и атрибуты кодера векторов поддержки регрессионной модели SVM.
Во-первых, задайте атрибуты кодера X чтобы сгенерированный код принял любое количество наблюдений. Измените SizeVector и VariableDimensions атрибуты. The SizeVector атрибут задает верхнюю границу размера данных предиктора и VariableDimensions атрибут определяет, имеет ли каждую размерность данных предиктора переменный размер или фиксированный размер.
configurer.X.SizeVector = [Inf 2]; configurer.X.VariableDimensions = [true false];
Размер первой размерности является количеством наблюдений. В этом случае код указывает, что верхняя граница размера Inf и размер переменен, что означает, что X может иметь любое количество наблюдений. Эта спецификация удобна, если вы не знаете количество наблюдений при генерации кода.
Размер второго измерения является количеством переменных. Это значение должно быть фиксировано для модели машинного обучения. X содержит два предиктора, поэтому значение SizeVector атрибут должен быть двумя, и значение VariableDimensions атрибут должен быть false.
Если вы переобучаете модель SVM с помощью новых данных или других настроек, количество векторов поддержки может варьироваться. Поэтому задайте атрибуты кодера SupportVectors чтобы можно было обновить векторы поддержки в сгенерированном коде.
configurer.SupportVectors.SizeVector = [250 2];
SizeVector attribute for Alpha has been modified to satisfy configuration constraints.
configurer.SupportVectors.VariableDimensions = [true false];
VariableDimensions attribute for Alpha has been modified to satisfy configuration constraints.
Если вы изменяете атрибуты кодера SupportVectors, затем программное обеспечение изменяет атрибуты кодера Alpha для удовлетворения ограничениям строения. Если изменение атрибутов кодера одного параметра требует последующих изменений других зависимых параметров, чтобы удовлетворить ограничениям строения, то программное обеспечение изменяет атрибуты кодера зависимых параметров.
Сгенерируйте код
Чтобы сгенерировать код C/C + +, вы должны иметь доступ к компилятору C/C + +, который настроен правильно. MATLAB Coder находит и использует поддерживаемый, установленный компилятор. Можно использовать mex -setup чтобы просмотреть и изменить компилятор по умолчанию. Для получения дополнительной информации см. раздел «Изменение компилятора по умолчанию».
Использование generateCode чтобы сгенерировать код для predict и update функции регрессионной модели SVM (Mdl) с настройками по умолчанию.
generateCode(configurer)
generateCode creates these files in output folder: 'initialize.m', 'predict.m', 'update.m', 'RegressionSVMModel.mat' Code generation successful.
generateCode генерирует файлы MATLAB, необходимые для генерации кода, включая две функции точки входа predict.m и update.m для predict и update функции Mdl, соответственно. Затем generateCode создает MEX-функцию с именем RegressionSVMModel для двух функций точки входа в codegen\mex\RegressionSVMModel и копирует MEX-функцию в текущую папку.
Проверьте сгенерированный код
Передайте некоторые данные предиктора, чтобы проверить, predict ли функция Mdl и predict функция в MEX-функция возвращает те же предсказанные отклики. Чтобы вызвать функцию точки входа в MEX-функция, которая имеет более одной точки входа, укажите имя функции в качестве первого входного параметра.
yfit = predict(Mdl,X);
yfit_mex = RegressionSVMModel('predict',X);yfit_mex могут включать круглые различия по сравнению с yfit. В этом случае сравните yfit и yfit_mex, допускающий небольшой допуск.
find(abs(yfit-yfit_mex) > 1e-6)
ans = 0x1 empty double column vector
Сравнение подтверждает, что yfit и yfit_mex равны в пределах допуска 1e–6.
Переобучите модель и параметры обновления в сгенерированном коде
Переобучите модель, используя весь набор данных.
retrainedMdl = fitrsvm(X,Y);
Извлечение параметров для обновления при помощи validatedUpdateInputs. Эта функция обнаруживает измененные параметры модели в retrainedMdl и подтверждает, удовлетворяют ли измененные значения параметров атрибутам кодера параметров.
params = validatedUpdateInputs(configurer,retrainedMdl);
Обновляйте параметры в сгенерированном коде.
RegressionSVMModel('update',params)Проверьте сгенерированный код
Сравните выходы predict функция retrainedMdl и predict функция в обновленной MEX-функции.
yfit = predict(retrainedMdl,X);
yfit_mex = RegressionSVMModel('predict',X);
find(abs(yfit-yfit_mex) > 1e-6)ans = 0x1 empty double column vector
Сравнение подтверждает, что yfit и yfit_mex равны в пределах допуска 1e-6.
LearnerCoderInput ОбъектКонфигуратор кодера использует LearnerCoderInput объект, чтобы задать атрибуты кодера predict и update входные параметры.
A LearnerCoderInput объект имеет следующие атрибуты, чтобы задать свойства массива входных параметров в сгенерированном коде.
| Имя атрибута | Описание |
|---|---|
SizeVector | Размер массива, если соответствующий Верхняя граница размера массива, если соответствующий |
VariableDimensions | Индикатор, определяющий, имеет ли каждую размерность массива переменный или фиксированный размер, заданный как
|
DataType | Тип данных массива |
Tunability | Индикатор, определяющий, есть или нет
Если вы задаете другие значения атрибутов при |
После создания конфигуратора кодера можно изменить атрибуты кодера с помощью записи через точку. Для примера задайте атрибуты кодера коэффициентов Alpha конфигуратора кодера configurer следующим образом:
configurer.Alpha.SizeVector = [100 1];
configurer.Alpha.VariableDimensions = [1 0];
configurer.Alpha.DataType = 'double';Verbose) как true (по умолчанию), затем программное обеспечение отображает уведомления, когда вы изменяете атрибуты кодера параметра модели машинного обучения, и изменение изменяет атрибуты кодера других зависимых параметров.CompactRegressionSVM | learnerCoderConfigurer | predict | RegressionSVM | update
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.