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 в 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, categorical, char, string, или 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 Designer).

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

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

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя 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'

Более низкий значение < reservedrangesplaceholder0 > выход области значений том Simulink® проверки.

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

Примечание

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

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

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

Верхний значение < reservedrangesplaceholder0 > выход области значений, которое проверяет Simulink.

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, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя 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.

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

Примечание

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

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

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

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

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). Для получения примера смотрите Предсказание меток классов с использованием Блока MATLAB function.

При решении, использовать ли блок 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++ с помощью Coder™ Simulink ®

.

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

Введенный в R2020b