RegressionSVM Predict

Предскажите ответы с помощью модели регрессии машины опорных векторов (SVM)

  • Библиотека:
  • Statistics and Machine Learning Toolbox / регрессия

Описание

Блок RegressionSVM Predict предсказывает ответы с помощью объекта регрессии SVM (RegressionSVM или CompactRegressionSVM).

Импортируйте обученный объект регрессии SVM в блок путем определения имени переменной рабочей области, которая содержит объект. Входной порт x получает наблюдение (данные о предикторе), и выходной порт yfit, возвращает предсказанный ответ для наблюдения.

Порты

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

развернуть все

Данные о предикторе в виде вектор-столбца или вектора-строки из одного наблюдения.

Зависимости

  • Переменные в x должны иметь тот же порядок как переменные предикторы, которые обучили модель SVM, заданную Select trained machine learning model.

  • Если вы устанавливаете 'Standardize',true \in fitrsvm когда обучение модель SVM, затем блок RegressionSVM Predict стандартизирует значения x с помощью средних значений и стандартных отклонений в Mu и Sigma свойства (соответственно) модели SVM.

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Вывод

развернуть все

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

Типы данных: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Параметры

развернуть все

Основной

Задайте имя переменной рабочей области, которая содержит RegressionSVM объект или CompactRegressionSVM объект.

Когда вы обучаете модель SVM при помощи fitrsvm, следующие ограничения применяются:

  • Данные о предикторе не могут включать категориальные предикторы (logicalкатегориальный'char'Строка, или cell). Если вы снабжаете обучающими данными в таблице, предикторы должны быть числовыми (double или single). Кроме того, вы не можете использовать 'CategoricalPredictors' аргумент значения имени. Чтобы включать категориальные предикторы в модель, предварительно обработайте категориальные предикторы при помощи dummyvar прежде, чем подбирать модель.

  • Значение 'ResponseTransform' аргументом значения имени должен быть 'none' (значение по умолчанию).

  • Значение 'KernelFunction' аргументом значения имени должен быть 'gaussian', 'linear' (значение по умолчанию) или 'polynomial'.

Программируемое использование

Параметры блоков: TrainedLearner
Ввод: переменная рабочей области
Значения: RegressionSVM возразите | CompactRegressionSVM объект
Значение по умолчанию: 'svmMdl'

Типы данных

Фиксированная точка операционные параметры

Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).

Параметры блоков всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением параметров блоков, введите выражение с помощью MATLAB® функция округления в поле маски.

Программируемое использование

Параметры блоков: RndMeth
Ввод: символьный вектор
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
Значение по умолчанию: 'Floor'

Задайте, насыщает ли переполнение или переносится.

ДействиеОбъяснениеПовлияйте на переполнениеПример

Установите этот флажок (on).

Ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщения в сгенерированном коде.

Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных.

Максимальное значение, что int8 (8-битное целое число со знаком) тип данных может представлять, 127. Любой результат блочной операции, больше, чем это максимальное значение, вызывает переполнение 8-битного целого числа. С установленным флажком блок выход насыщает в 127. Точно так же блок выход насыщает в минимальном выходном значении –128.

Снимите этот флажок (off).

Вы хотите оптимизировать КПД своего сгенерированного кода.

Вы не хотите чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Ошибки Диапазона сигнала Поиска и устранения неисправностей (Simulink).

Переполнение переносится к соответствующему значению, которое может представлять тип данных.

Максимальное значение, что int8 (8-битное целое число со знаком) тип данных может представлять, 127. Любой результат блочной операции, больше, чем это максимальное значение, вызывает переполнение 8-битного целого числа. Со снятым флажком программное обеспечение интерпретирует значение порождения переполнения как int8, который может привести к непреднамеренному результату. Например, результат блока 130 (двоичный файл 1000 0010) описанный как int8 –126.

Программируемое использование

Параметры блоков: SaturateOnIntegerOverflow
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили тип данных, который вы задаете для блока. Для получения дополнительной информации смотрите, что Тип Выходных данных Блокировки Использования Устанавливает (Fixed-Point Designer).

Программируемое использование

Параметры блоков: LockScale
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'
Тип данных

Задайте тип данных для yfit выход. Тип может быть наследован, задан непосредственно или описан как объект типа данных, такой как Simulink.NumericType.

Когда вы выбираете Inherit: auto, блок использует правило, которое наследовало тип данных.

Для получения дополнительной информации о типах данных, смотрите Типы данных Управления Сигналов (Simulink).

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

Программируемое использование

Параметры блоков: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Значение по умолчанию: 'Inherit: auto'

Нижнее значение yfit область значений выхода, что Simulink® проверки.

Simulink использует минимальное значение, чтобы выполнить:

Примечание

Параметр Output minimum не насыщает или отсекает фактический сигнал yfit. Используйте блок Saturation (Simulink) вместо этого.

Программируемое использование

Параметры блоков: OutMin
Ввод: символьный вектор
Значения: '[]' | скаляр
Значение по умолчанию: '[]'

Верхнее значение yfit область значений выхода это Simulink Check.

Simulink использует максимальное значение, чтобы выполнить:

Примечание

Параметр Output maximum не насыщает или отсекает фактический сигнал yfit. Используйте блок Saturation (Simulink) вместо этого.

Программируемое использование

Параметры блоков: OutMax
Ввод: символьный вектор
Значения: '[]' | скаляр
Значение по умолчанию: '[]'

Задайте тип данных параметра для расчета ядра. Тип может быть задан непосредственно или описан как объект типа данных, такой как Simulink.NumericType.

Параметр Kernel data type задает тип данных различного параметра в зависимости от типа функции ядра заданной модели SVM. Вы задаете 'KernelFunction' аргумент значения имени, когда обучение модель SVM.

'KernelFunction' значениеТип данных
'gaussian' или 'rbf'Kernel data type задает тип данных квадрата расстояния D2=xs2 для Гауссова ядра G(x,s)=exp(D2), где x является данными о предикторе для наблюдения, и s является вектором поддержки.
'linear'Kernel data type задает тип данных для выхода линейной функции ядра G(x,s)=xs', где x является данными о предикторе для наблюдения, и s является вектором поддержки.
'polynomial'Kernel data type задает тип данных для выхода полиномиальной функции ядра G(x,s)=(1+xs')p, где x является данными о предикторе для наблюдения, s является вектором поддержки, и p является полиномиальным порядком функции ядра.

Для получения дополнительной информации о типах данных, смотрите Типы данных Управления Сигналов (Simulink).

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).

Программируемое использование

Параметры блоков: KernelDataTypeStr
Ввод: символьный вектор
Значения: 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'uint64' | 'int64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
Значение по умолчанию: 'double'

Нижнее значение области значений внутренней переменной расчета ядра это Simulink Check.

Simulink использует минимальное значение, чтобы выполнить:

Примечание

Параметр Kernel minimum не насыщает или отсекает фактический сигнал значения расчета ядра.

Программируемое использование

Параметры блоков: KernelOutMin
Ввод: символьный вектор
Значения: '[]' | скаляр
Значение по умолчанию: '[]'

Верхнее значение области значений внутренней переменной расчета ядра это Simulink Check.

Simulink использует максимальное значение, чтобы выполнить:

Примечание

Параметр Kernel maximum не насыщает или отсекает фактический сигнал значения расчета ядра.

Программируемое использование

Параметры блоков: KernelOutMax
Ввод: символьный вектор
Значения: '[]' | скаляр
Значение по умолчанию: '[]'

Характеристики блока

Типы данных

Boolean | double | fixed point | half | integer | single

Прямое сквозное соединение

yes

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

Советы

  • Если вы используете линейную модель SVM, и она имеет много векторов поддержки, то предсказание может быть медленным. Чтобы эффективно предсказать ответы на основе линейной модели SVM, удалите векторы поддержки из RegressionSVM или CompactRegressionSVM объект при помощи discardSupportVectors.

Альтернативная функциональность

Можно использовать блок MATLAB function с predict объектная функция объекта регрессии SVM (RegressionSVM или CompactRegressionSVM). Для примера смотрите, Предсказывают, что Класс Маркирует Using MATLAB Function Block.

При решении, использовать ли блок RegressionSVM Predict в библиотеке Statistics and Machine Learning Toolbox™ или блоке MATLAB function с predict функционируйте, рассмотрите следующее:

  • Если вы используете библиотечный блок Statistics and Machine Learning Toolbox, можно использовать Fixed-Point Tool (Fixed-Point Designer), чтобы преобразовать модель с плавающей точкой в фиксированную точку.

  • Поддержка массивов переменного размера должна быть включена для блока MATLAB function с predict функция.

  • Если вы используете блок MATLAB function, можно использовать функции MATLAB для предварительной обработки или последующей обработки прежде или после предсказаний в том же блоке MATLAB function.

Вопросы совместимости

развернуть все

Поведение изменяется в R2021a

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Преобразование фиксированной точки
Спроектируйте и симулируйте системы фиксированной точки с помощью Fixed-Point Designer™.

Введенный в R2020b