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

Примечания по использованию генерации кода и ограничения модели линейной классификации см. в разделах Создание кода (Code Generation) ClassificationLinear, predict, и update.
После обучения модели линейной классификации с использованием fitclinear, создайте конфигуратор кодера для модели с помощью learnerCoderConfigurer. Используйте свойства конфигуратора кодера, чтобы указать атрибуты кодера predict и update аргументы. Затем используйте generateCode для создания кода C/C + + на основе указанных атрибутов кодера.
predict АргументыСвойства, перечисленные в этом разделе, определяют атрибуты кодера predict аргументы функции в сгенерированном коде.
X - Атрибуты кодера данных предиктораLearnerCoderInput объектАтрибуты кодера данных предиктора для передачи в сгенерированный код C/C + + для predict функция модели линейной классификации, указанная как LearnerCoderInput объект.
При создании конфигуратора кодера с помощью learnerCoderConfigurer функция, входной аргумент X определяет значения по умолчанию для LearnerCoderInput атрибуты кодера:
SizeVector - Значением по умолчанию является размер массива входных данных. X.
Если Value атрибут ObservationsIn для свойства ClassificationLinearCoderConfigurer является 'rows', то это SizeVector значение равно [n p], где n соответствует количеству наблюдений и p соответствует количеству предикторов.
Если Value атрибут ObservationsIn для свойства ClassificationLinearCoderConfigurer является 'columns', то это SizeVector значение равно [p n].
Переключение элементов SizeVector (например, для изменения [n p] кому [p n]), измените Value атрибут ObservationsIn для свойства ClassificationLinearCoderConfigurer соответственно. Вы не можете изменить SizeVector непосредственно значение.
VariableDimensions - Значение по умолчанию: [0 0], который указывает, что размер массива фиксирован, как указано в SizeVector.
Это значение можно установить равным [1 0] если SizeVector значение равно [n p] или в [0 1] если это [p n], что указывает на наличие в массиве строк переменного размера и столбцов фиксированного размера. Например, [1 0] указывает, что первое значение SizeVector (n) - верхняя граница для количества строк и второе значение SizeVector (p) - количество столбцов.
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.
ObservationsIn - Атрибуты кодера измерения наблюдения данных предиктораEnumeratedInput объектАтрибуты кодера измерения наблюдения данных предиктора ('ObservationsIn' аргумент пары имя-значение predict), указанный как EnumeratedInput объект.
При создании конфигуратора кодера с помощью learnerCoderConfigurer функция, 'ObservationsIn' аргумент пары имя-значение определяет значения по умолчанию EnumeratedInput атрибуты кодера:
Value - Значением по умолчанию является измерение наблюдения данных предиктора, используемое при создании конфигуратора кодера, указанное как 'rows' или 'columns'. Если не указать 'ObservationsIn' при создании конфигуратора кодера значением по умолчанию является 'rows'.
SelectedOption - Это значение всегда 'Built-in'. Этот атрибут доступен только для чтения.
BuiltInOptions - Массив ячеек 'rows' и 'columns'. Этот атрибут доступен только для чтения.
IsConstant - Это значение должно быть true.
Tunability - Значение по умолчанию: false при указании 'ObservationsIn','rows' при создании конфигуратора кодера, и true при указании 'ObservationsIn','columns'. Если установить Tunability кому false, комплекты программного обеспечения Value кому 'rows'. При указании других значений атрибутов Tunability является false, комплекты программного обеспечения Tunability кому true.
NumOutputs - Количество выходов в predictКоличество выходных аргументов, возвращаемых из сгенерированного кода C/C + + для predict функция модели линейной классификации, заданная как 1 или 2.
Выходные аргументы predict являются Label (прогнозируемые метки класса) и Score (классификационные баллы), в таком порядке. predict в сгенерированном коде C/C + + возвращает первыйn выходных данных predict функция, где n является NumOutputs значение.
После создания конфигуратора кодера configurerможно указать количество выходов с помощью точечной нотации.
configurer.NumOutputs = 2;
NumOutputs свойство эквивалентно '-nargout' параметр компилятора codegen (Кодер MATLAB). Этот параметр определяет количество выходных аргументов в функции начального значения генерации кода. Функция объекта generateCode генерирует две функции точки входа -predict.m и update.m для predict и update функции модели линейной классификации соответственно - и генерирует код C/C + + для двух функций точки входа. Указанное значение для NumOutputs свойство соответствует количеству выходных аргументов в функции точки входа predict.m.
Типы данных: double
update АргументыСвойства, перечисленные в этом разделе, определяют атрибуты кодера update аргументы функции в сгенерированном коде. update функция принимает обученную модель и новые параметры модели в качестве входных аргументов и возвращает обновленную версию модели, содержащую новые параметры. Чтобы включить обновление параметров в сгенерированном коде, перед созданием кода необходимо указать атрибуты кодера параметров. Использовать LearnerCoderInput для указания атрибутов кодера каждого параметра. Значения атрибутов по умолчанию основаны на параметрах модели во входном аргументе Mdl из learnerCoderConfigurer.
Beta - Атрибуты кодера коэффициентов линейного предиктораLearnerCoderInput объектАтрибуты кодера коэффициентов линейного предиктора (Beta модели линейной классификации), указанного как LearnerCoderInput объект.
Значения атрибутов по умолчанию для LearnerCoderInput объекты основаны на входном аргументе Mdl из learnerCoderConfigurer:
SizeVector - Это значение должно быть [p 1], где p - количество предикторов в Mdl.
VariableDimensions - Это значение должно быть [0 0], указывающее, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение равно 'single' или 'double'. Тип данных по умолчанию согласуется с типом данных обучения, которые используются для обучения. Mdl.
Tunability - Это значение должно быть true.
Bias - Атрибуты кодера термина смещенияLearnerCoderInput объектАтрибуты кодера термина смещения (Bias модели линейной классификации), указанного как LearnerCoderInput объект.
Значения атрибутов по умолчанию для LearnerCoderInput объекты основаны на входном аргументе Mdl из learnerCoderConfigurer:
SizeVector - Это значение должно быть [1 1].
VariableDimensions - Это значение должно быть [0 0], указывающее, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение равно 'single' или 'double'. Тип данных по умолчанию согласуется с типом данных обучения, которые используются для обучения. Mdl.
Tunability - Это значение должно быть true.
Cost - Атрибуты кодера стоимости неправильной классификацииLearnerCoderInput объектАтрибуты кодера стоимости неправильной классификации (Cost модели линейной классификации), указанного как LearnerCoderInput объект.
Значения атрибутов по умолчанию для LearnerCoderInput объекты основаны на входном аргументе Mdl из learnerCoderConfigurer:
SizeVector - Это значение должно быть [2 2].
VariableDimensions - Это значение должно быть [0 0], указывающее, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение равно 'single' или 'double'. Тип данных по умолчанию согласуется с типом данных обучения, которые используются для обучения. Mdl.
Tunability - Значение по умолчанию: true.
Prior - Атрибуты кодера предыдущих вероятностейLearnerCoderInput объектАтрибуты кодера предшествующих вероятностей (Prior модели линейной классификации), указанного как LearnerCoderInput объект.
Значения атрибутов по умолчанию для LearnerCoderInput объекты основаны на входном аргументе Mdl из learnerCoderConfigurer:
SizeVector - Это значение должно быть [1 2].
VariableDimensions - Это значение должно быть [0 0], указывающее, что размер массива фиксирован, как указано в SizeVector.
DataType - Это значение равно 'single' или 'double'. Тип данных по умолчанию согласуется с типом данных обучения, которые используются для обучения. Mdl.
Tunability - Значение по умолчанию: true.
OutputFileName - Имя файла сформированного кода C/C + +'ClassificationLinearModel' (по умолчанию) | символьный векторИмя файла сгенерированного кода C/C + +, заданного как символьный вектор.
Функция объекта generateCode из ClassificationLinearCoderConfigurer создает код 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), вместо использования generateCode функция.
После генерации двух файлов функций начального уровня (predict.m и update.m) с помощью generateFiles можно изменить эти файлы в соответствии с рабочим процессом создания кода. Например, можно изменить predict.m для включения предварительной обработки данных или можно добавить эти функции точки входа в другой проект создания кода. Затем можно создать код C/C + + с помощью codegen (Кодер MATLAB) и 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 - Список настраиваемых входных аргументов predictЭто свойство доступно только для чтения.
Список настраиваемых входных аргументов функции точки входа predict.m для генерации кода, заданного как массив ячеек. Массив ячеек содержит другой массив ячеек, включающий coder.PrimitiveType (Кодер MATLAB) объекты и coder.Constant (Кодер MATLAB) объекты.
При изменении атрибутов кодера predict аргументы, то программное обеспечение соответствующим образом обновляет соответствующие объекты. При указании Tunability атрибут как false, то программное обеспечение удаляет соответствующие объекты из PredictInputs список.
Массив ячеек в PredictInputs эквивалентно configurer.CodeGenerationArguments{6} для конфигуратора кодера configurer.
Типы данных: cell
UpdateInputs - Список настраиваемых входных аргументов updatecoder.PrimitiveType объектыЭто свойство доступно только для чтения.
Список настраиваемых входных аргументов функции точки входа update.m для генерации кода, определяемого как массив ячеек структуры, включающий coder.PrimitiveType (Кодер MATLAB) объекты. Каждый coder.PrimitiveType объект включает в себя атрибуты кодера настраиваемого параметра модели машинного обучения.
При изменении атрибутов кодера параметра модели с помощью свойств конфигуратора кодера (update Arguments properties), затем программное обеспечение обновляет соответствующий coder.PrimitiveType соответственно возражают. При указании Tunability атрибут параметра модели машинного обучения как false, то программное обеспечение удаляет соответствующий coder.PrimitiveType объект из UpdateInputs список.
Структура в UpdateInputs эквивалентно configurer.CodeGenerationArguments{3} для конфигуратора кодера configurer.
Типы данных: cell
generateCode | Создание кода C/C + + с помощью конфигуратора кодера |
generateFiles | Создание файлов MATLAB для создания кода с помощью конфигуратора кодера |
validatedUpdateInputs | Проверка и извлечение параметров модели машинного обучения для обновления |
В этом примере используются:
Обучение модели машинного обучения, а затем создание кода для predict и update функции модели с помощью конфигуратора кодера.
Загрузить ionosphere набор данных и обучение модели двоичной линейной классификации. Передача транспонированной матрицы предиктора Xnew кому fitclinearи используйте 'ObservationsIn' аргумент пары имя-значение, чтобы указать, что столбцы Xnew соответствуют наблюдениям.
load ionosphere Xnew = X'; Mdl = fitclinear(Xnew,Y,'ObservationsIn','columns');
Mdl является ClassificationLinear объект.
Создание конфигуратора кодера для ClassificationLinear модель с использованием learnerCoderConfigurer. Укажите данные предиктора Xnewи используйте 'ObservationsIn' аргумент пары имя-значение для указания измерения наблюдения Xnew. learnerCoderConfigurer функция использует эти входные аргументы для конфигурирования атрибутов кодера соответствующих входных аргументов predict.
configurer = learnerCoderConfigurer(Mdl,Xnew,'ObservationsIn','columns')
configurer =
ClassificationLinearCoderConfigurer with properties:
Update Inputs:
Beta: [1x1 LearnerCoderInput]
Bias: [1x1 LearnerCoderInput]
Prior: [1x1 LearnerCoderInput]
Cost: [1x1 LearnerCoderInput]
Predict Inputs:
X: [1x1 LearnerCoderInput]
ObservationsIn: [1x1 EnumeratedInput]
Code Generation Parameters:
NumOutputs: 1
OutputFileName: 'ClassificationLinearModel'
Properties, Methods
configurer является ClassificationLinearCoderConfigurer объект, который является конфигуратором кодера ClassificationLinear объект.
Для создания кода C/C + + необходимо иметь доступ к компилятору C/C + +, который настроен правильно. MATLAB Coder находит и использует поддерживаемый установленный компилятор. Вы можете использоватьmex -setup для просмотра и изменения компилятора по умолчанию. Дополнительные сведения см. в разделе Изменение компилятора по умолчанию.
Создание кода для predict и update функции модели линейной классификации (Mdl).
generateCode(configurer)
generateCode creates these files in output folder: 'initialize.m', 'predict.m', 'update.m', 'ClassificationLinearModel.mat' Code generation successful.
generateCode функция выполняет следующие действия:
Создание файлов MATLAB, необходимых для создания кода, включая две функции точки входа predict.m и update.m для predict и update функции Mdlсоответственно.
Создание функции MEX с именем ClassificationLinearModel для двух функций точки входа.
Создайте код для функции MEX в codegen\mex\ClassificationLinearModel папка.
Скопируйте функцию MEX в текущую папку.
Отображение содержимого predict.m, update.m, и initialize.m с помощью type функция.
type predict.mfunction varargout = predict(X,varargin) %#codegen
% Autogenerated by MATLAB, 23-Apr-2021 12:42:11
[varargout{1:nargout}] = initialize('predict',X,varargin{:});
end
type update.mfunction update(varargin) %#codegen
% Autogenerated by MATLAB, 23-Apr-2021 12:42:11
initialize('update',varargin{:});
end
type initialize.mfunction [varargout] = initialize(command,varargin) %#codegen
% Autogenerated by MATLAB, 23-Apr-2021 12:42:11
coder.inline('always')
persistent model
if isempty(model)
model = loadLearnerForCoder('ClassificationLinearModel.mat');
end
switch(command)
case 'update'
% Update struct fields: Beta
% Bias
% Prior
% Cost
model = update(model,varargin{:});
case 'predict'
% Predict Inputs: X, ObservationsIn
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
В этом примере используются:
Обучение модели линейной классификации с использованием частичного набора данных и создание конфигуратора кодера для модели. Используйте свойства конфигуратора кодера для задания атрибутов кодера параметров линейной модели. Используйте функцию объекта конфигуратора кодера для генерации кода C, который предсказывает метки для новых данных предиктора. Затем переобучите модель, используя весь набор данных, и обновите параметры в сгенерированном коде без регенерации кода.
Модель поезда
Загрузить ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный отклик для радарных возвращений, либо плохой ('b') или хорошо ('g'). Обучите модель бинарной линейной классификации, используя половину наблюдений. Транспонируйте данные предиктора и используйте 'ObservationsIn' аргумент пары имя-значение, чтобы указать, что столбцы XTrain соответствуют наблюдениям.
load ionosphere rng('default') % For reproducibility n = length(Y); c = cvpartition(Y,'HoldOut',0.5); idxTrain = training(c,1); XTrain = X(idxTrain,:)'; YTrain = Y(idxTrain); Mdl = fitclinear(XTrain,YTrain,'ObservationsIn','columns');
Mdl является ClassificationLinear объект.
Создать конфигуратор кодера
Создание конфигуратора кодера для ClassificationLinear модель с использованием learnerCoderConfigurer. Укажите данные предиктора XTrainи используйте 'ObservationsIn' аргумент пары имя-значение для указания измерения наблюдения XTrain. learnerCoderConfigurer функция использует эти входные аргументы для конфигурирования атрибутов кодера соответствующих входных аргументов predict. Кроме того, установите число выходов равным 2, чтобы сгенерированный код возвращал предсказанные метки и оценки.
configurer = learnerCoderConfigurer(Mdl,XTrain,'ObservationsIn','columns','NumOutputs',2);
configurer является ClassificationLinearCoderConfigurer объект, который является конфигуратором кодера ClassificationLinear объект.
Определение атрибутов кодера параметров
Укажите атрибуты кодера параметров модели линейной классификации, чтобы можно было обновить параметры в сгенерированном коде после переподготовки модели. В этом примере указываются атрибуты кодера данных предиктора, которые необходимо передать сгенерированному коду.
Укажите атрибуты кодера для X имущество configurer чтобы сгенерированный код принял любое количество наблюдений. Изменение SizeVector и VariableDimensions атрибуты. SizeVector атрибут указывает верхнюю границу размера данных предиктора и VariableDimensions атрибут указывает, имеет ли каждое измерение данных предиктора переменный размер или фиксированный размер.
configurer.X.SizeVector = [34 Inf]; configurer.X.VariableDimensions
ans = 1x2 logical array
0 1
Размер первого измерения - это количество переменных предиктора. Это значение должно быть фиксированным для модели машинного обучения. Поскольку данные предиктора содержат 34 предиктора, значение SizeVector атрибут должен быть 34, а значение VariableDimensions атрибут должен быть 0.
Размер второго измерения - это количество наблюдений. Установка значения SizeVector атрибут для Inf приводит к изменению значения VariableDimensions атрибут для 1. Другими словами, верхняя граница размера равна Inf и размер является переменным, что означает, что данные предиктора могут иметь любое количество наблюдений. Эта спецификация удобна, если не известно количество наблюдений при создании кода.
Порядок размеров в SizeVector и VariableDimensions зависит от атрибутов кодера ObservationsIn.
configurer.ObservationsIn
ans =
EnumeratedInput with properties:
Value: 'columns'
SelectedOption: 'Built-in'
BuiltInOptions: {'rows' 'columns'}
IsConstant: 1
Tunability: 1
Когда Value атрибут ObservationsIn свойство - 'columns', первое измерение SizeVector и VariableDimensions атрибуты X соответствует количеству предикторов, а вторая размерность соответствует количеству наблюдений. Когда Value атрибут ObservationsIn является 'rows', порядок размеров переключается.
Создать код
Для создания кода C/C + + необходимо иметь доступ к компилятору C/C + +, который настроен правильно. MATLAB Coder находит и использует поддерживаемый установленный компилятор. Вы можете использоватьmex -setup для просмотра и изменения компилятора по умолчанию. Дополнительные сведения см. в разделе Изменение компилятора по умолчанию.
Создание кода для predict и update функции модели линейной классификации (Mdl).
generateCode(configurer)
generateCode creates these files in output folder: 'initialize.m', 'predict.m', 'update.m', 'ClassificationLinearModel.mat' Code generation successful.
generateCode функция выполняет следующие действия:
Создание файлов MATLAB, необходимых для создания кода, включая две функции точки входа predict.m и update.m для predict и update функции Mdlсоответственно.
Создание функции MEX с именем ClassificationLinearModel для двух функций точки входа.
Создайте код для функции MEX в codegen\mex\ClassificationLinearModel папка.
Скопируйте функцию MEX в текущую папку.
Проверить созданный код
Передайте некоторые данные предиктора, чтобы проверить, predict функция Mdl и predict функция в функции MEX возвращает те же самые метки. Чтобы вызвать функцию точки входа в функции MEX, которая имеет более одной точки входа, укажите имя функции в качестве первого входного аргумента.
[label,score] = predict(Mdl,XTrain,'ObservationsIn','columns'); [label_mex,score_mex] = ClassificationLinearModel('predict',XTrain,'ObservationsIn','columns');
Выдержать сравнение label и label_mex с помощью isequal.
isequal(label,label_mex)
ans = logical
1
isequal возвращает логический 1 (true), если все входы равны. Сравнение подтверждает, что predict функция Mdl и predict функция в функции MEX возвращает те же самые метки.
Выдержать сравнение score и score_mex.
max(abs(score-score_mex),[],'all')ans = 0
В общем, score_mex может включать разницы округления по сравнению с score. В этом случае сравнение подтверждает, что score и score_mex равны.
Переподготовка модели и обновление параметров в сгенерированном коде
Переподготовка модели с использованием всего набора данных.
retrainedMdl = fitclinear(X',Y,'ObservationsIn','columns');
Извлечение параметров для обновления с помощью validatedUpdateInputs. Эта функция обнаруживает измененные параметры модели в retrainedMdl и проверяет, удовлетворяют ли измененные значения параметров атрибутам кодера параметров.
params = validatedUpdateInputs(configurer,retrainedMdl);
Обновите параметры в созданном коде.
ClassificationLinearModel('update',params)Проверить созданный код
Сравните выходные данные predict функция retrainedMdl и predict в обновленной функции MEX.
[label,score] = predict(retrainedMdl,X','ObservationsIn','columns'); [label_mex,score_mex] = ClassificationLinearModel('predict',X','ObservationsIn','columns'); isequal(label,label_mex)
ans = logical
1
max(abs(score-score_mex),[],'all')ans = 0
Сравнение подтверждает, что label и label_mex равны, и что значения баллов равны.
LearnerCoderInput ОбъектКонфигуратор кодера использует LearnerCoderInput объект для указания атрибутов кодера predict и update входные аргументы.
A LearnerCoderInput имеет следующие атрибуты для указания свойств массива входных аргументов в сгенерированном коде.
| Имя атрибута | Описание |
|---|---|
SizeVector | Размер массива, если соответствующий Верхняя граница размера массива, если соответствующий |
VariableDimensions | Индикатор, указывающий, имеет ли каждое измерение массива переменный размер или фиксированный размер, указанный как
|
DataType | Тип данных массива |
Tunability | Индикатор, указывающий,
При указании других значений атрибутов |
После создания конфигуратора кодера можно изменить атрибуты кодера с помощью точечной нотации. Например, укажите тип данных элемента смещения. Bias конфигуратора кодера configurer:
configurer.Bias.DataType = 'single';Verbose) как true (по умолчанию), то программа отображает уведомления при изменении атрибутов кодера параметра модели машинного обучения и изменении атрибутов кодера других зависимых параметров.EnumeratedInput ОбъектКонфигуратор кодера использует EnumeratedInput объект для указания атрибутов кодера predict входные аргументы, имеющие конечный набор доступных значений.
Один EnumeratedInput имеет следующие атрибуты для указания свойств массива входных аргументов в сгенерированном коде.
| Имя атрибута | Описание |
|---|---|
Value | Значение
Значение по умолчанию |
SelectedOption | Статус выбранной опции, указанной как
Этот атрибут доступен только для чтения. |
BuiltInOptions | Список доступных векторов символов для соответствующих Этот атрибут доступен только для чтения. |
IsConstant | Индикатор, указывающий, является ли значение массива константой времени компиляции ( Если это значение равно |
Tunability | Индикатор, указывающий, При указании других значений атрибутов |
После создания конфигуратора кодера можно изменить атрибуты кодера с помощью точечной нотации. Например, укажите атрибуты кодера ObservationsIn конфигуратора кодера configurer:
configurer.ObservationsIn.Value = 'columns';ClassificationECOCCoderConfigurer | ClassificationLinear | learnerCoderConfigurer | predict | update
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.