Предскажите ответы с помощью модели регрессии машины опорных векторов (SVM)
Statistics and Machine Learning Toolbox / регрессия
Блок RegressionSVM Predict предсказывает ответы с помощью объекта RegressionSVM
регрессии SVM и его объектная функция
predict
.
Импортируйте обученный объект регрессии SVM в блок путем определения имени переменной рабочей области, которая содержит RegressionSVM
объект. Входной порт X получает наблюдение (данные о предикторе), и выходной порт Yfit, возвращает предсказанный ответ для наблюдения.
X
— Данные о предиктореДанные о предикторе в виде вектор-столбца или вектора-строки из одного наблюдения.
Переменные в X должны иметь тот же порядок как переменные предикторы, которые обучили модель SVM, заданную Select trained machine learning model
.
Если вы устанавливаете 'Standardize',true
\in fitrsvm
когда обучение модель SVM, затем блок RegressionSVM Predict стандартизирует значения X с помощью средних значений и стандартных отклонений в Mu
и Sigma
свойства (соответственно) модели SVM.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
Yfit
— Предсказанный ответПредсказанный ответ, возвращенный как скаляр.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Select trained machine learning model
— Модель регрессии SVMsvmMdl
(значение по умолчанию) | RegressionSVM
возразите | CompactRegressionSVM
объектЗадайте имя переменной рабочей области, которая содержит RegressionSVM
объект или CompactRegressionSVM
объект.
Когда вы обучаете модель SVM при помощи fitrsvm
, следующие ограничения применяются:
Данные о предикторе не могут включать категориальные предикторы (logical
категориальный
'char'
Строка
, или cell
). Если вы снабжаете обучающими данными в таблице, предикторы должны быть числовыми (double
или single
). Кроме того, вы не можете использовать 'CategoricalPredictors'
аргумент пары "имя-значение". Чтобы включать категориальные предикторы в модель, предварительно обработайте категориальные предикторы при помощи dummyvar
прежде, чем подбирать модель.
Значение 'ResponseTransform'
аргументом пары "имя-значение" должен быть 'none'
(значение по умолчанию).
Значение 'KernelFunction'
аргументом пары "имя-значение" должен быть 'gaussian'
, 'linear'
, или 'polynomial'
.
Параметры блоков:
TrainedLearner |
Ввод: переменная рабочей области |
Значения:
RegressionSVM возразите | CompactRegressionSVM объект |
Значение по умолчанию:
svmMdl |
Integer rounding mode
— Режим Rounding для операций фиксированной точкиFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте округляющийся режим для операций фиксированной точки. Для получения дополнительной информации смотрите Округление (Fixed-Point Designer).
Параметры блоков всегда вокруг к самому близкому представимому значению. Чтобы управлять округлением параметров блоков, введите выражение с помощью функции округления MATLAB® в поле маски.
Параметры блоков:
RndMeth |
Ввод: символьный вектор |
Значения:
'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
Значение по умолчанию:
'Floor' |
Saturate on integer overflow
— Метод действия переполненияoff
(значение по умолчанию) | on
Задайте, насыщает ли переполнение или переносится.
Действие | Объяснение | Повлияйте на переполнение | Пример |
---|---|---|---|
Установите этот флажок ( | Ваша модель имеет возможное переполнение, и вы хотите явную защиту насыщения в сгенерированном коде. | Переполнение насыщает или к минимальному или к максимальному значению, которое может представлять тип данных. | Максимальное значение, что |
Снимите этот флажок ( | Вы хотите оптимизировать КПД своего сгенерированного кода. Вы не хотите чрезмерно определять, как блок обрабатывает сигналы из области значений. Для получения дополнительной информации смотрите Ошибки Диапазона сигнала Поиска и устранения неисправностей (Simulink). | Переполнение переносится к соответствующему значению, которое может представлять тип данных. | Максимальное значение, что |
Параметры блоков:
SaturateOnIntegerOverflow |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Lock output data type setting against changes by the fixed-point tools
— Препятствуйте тому, чтобы Fixed-Point Tool заменили тип данныхoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили тип данных, который вы задаете для блока. Для получения дополнительной информации смотрите, что Тип Выходных данных Блокировки Использования Устанавливает (Fixed-Point Designer).
Параметры блоков:
LockScale |
Ввод: символьный вектор |
Значения:
'off' | 'on' |
Значение по умолчанию:
'off' |
Output data type
— Тип данных Yfit выходInherit: auto
(значение по умолчанию) | double
| single
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <data type expression>
Задайте тип данных для Yfit выход. Тип может быть наследован, задан непосредственно или описан как объект типа данных, такой как Simulink.NumericType
.
Когда вы выбираете Inherit: auto
, блок использует правило, которое наследовало тип данных.
Для получения дополнительной информации о типах данных, смотрите Типы данных Управляющего сигнала (Simulink).
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).
Параметры блоков: OutDataTypeStr |
Ввод: символьный вектор |
Значения: 'Inherit: auto' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
Значение по умолчанию: 'Inherit: auto' |
Output minimum
— Минимальное значение Yfit выход для проверки диапазона[]
(значение по умолчанию) | скалярНижнее значение Yfit область значений выхода, которую проверяет Simulink®.
Simulink использует минимальное значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков (Simulink)) для некоторых блоков.
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала (Simulink) и Включает Проверку диапазона Симуляции (Simulink)).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Embedded Coder).
Примечание
Параметр Output minimum не насыщает или отсекает фактический сигнал Yfit. Используйте блок Saturation (Simulink) вместо этого.
Параметры блоков: OutMin |
Ввод: символьный вектор |
Значения: '[ ]' | скаляр |
Значение по умолчанию: '[ ]' |
Output maximum
— Максимальное значение Yfit выход для проверки диапазона[]
(значение по умолчанию) | скалярВерхнее значение Yfit область значений выхода это Simulink Check.
Simulink использует минимальное значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков (Simulink)) для некоторых блоков.
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала (Simulink) и Включает Проверку диапазона Симуляции (Simulink)).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Embedded Coder).
Примечание
Параметр Output maximum не насыщает или отсекает фактический сигнал Yfit. Используйте блок Saturation (Simulink) вместо этого.
Параметры блоков: OutMax |
Ввод: символьный вектор |
Значения: '[ ]' | скаляр |
Значение по умолчанию: '[ ]' |
Kernel data type
— Тип данных расчета ядраdouble
(значение по умолчанию) | Inherit: Inherit via internal rule
| Inherit: Keep MSB
| Inherit: Match scaling
| single
| int8
| uint8
| int16
| uint16
| int32
| int64
| uint64
| uint32
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <data type expression>
Задайте тип данных параметра для расчета ядра.
Параметр Kernel data type задает тип данных различного параметра в зависимости от типа функции ядра заданной модели SVM. Вы задаете 'KernelFunction'
аргумент пары "имя-значение", когда обучение модель SVM.
'KernelFunction' значение | Тип данных |
---|---|
'gaussian' или 'rbf' | Kernel data type задает тип данных квадрата расстояния для Гауссова ядра , где x является данными о предикторе для наблюдения, и s является вектором поддержки. |
'linear' | Kernel data type задает тип данных для выхода линейной функции ядра , где x является данными о предикторе для наблюдения, и s является вектором поддержки. |
'polynomial' | Kernel data type задает тип данных для выхода полиномиальной функции ядра , где x является данными о предикторе для наблюдения, s является вектором поддержки, и p является полиномиальным порядком функции ядра. |
Тип может быть наследован, задан непосредственно или описан как объект типа данных, такой как Simulink.NumericType
.
Когда вы выбираете наследованную опцию, программное обеспечение ведет себя можно следующим образом:
Inherit: Inherit via internal rule
— Блок использует внутреннее правило, чтобы определить его тип данных. Внутреннее правило выбирает тип данных, который оптимизирует числовую точность, эффективность и размер сгенерированного кода, при принятии во внимание свойств оборудования целевого процессора. Программное обеспечение не может одновременно оптимизировать КПД и числовую точность во всех ситуациях.
Inherit: Keep MSB
— Simulink выбирает тип данных, который обеспечивает полный спектр операции, и затем уменьшает точность до размера, подходящего для оборудования целевого процессора. Это правило никогда не производит переполнение.
Совет
Для более эффективного сгенерированного кода очистите параметр Saturate on integer overflow.
Inherit: Match scaling
— Simulink выбирает тип данных, масштабирование которого соответствий масштабирование входных типов, где вход относится к входу блока под маской. Если полный спектр типа не соответствует на оборудовании целевого процессора, программное обеспечение уменьшает область значений, чтобы дать к типу, который подходит для оборудования целевого процессора. Это правило может произвести переполнение.
Программное обеспечение не может одновременно оптимизировать КПД кода и числовую точность во всех ситуациях. Если эти внутренние правила не удовлетворяют ваши определенные потребности для числовой точности или эффективности, используйте одну из следующих опций:
Задайте тип данных явным образом.
Задайте тип данных по умолчанию явным образом, такой как fixdt(1,32,16)
, и затем используйте Fixed-Point Tool, чтобы предложить типы данных для вашей модели. Для получения дополнительной информации смотрите fxptdlg
(Fixed-Point Designer).
Inherit: Inherit via back propagation
— (Не рекомендуемый), блок использует тип данных нисходящего блока под маской.
Inherit: Same as first input
— (Не рекомендуемый), Этот первый вход относится к первому входу блока под маской.
Для получения дополнительной информации о типах данных, смотрите Типы данных Управляющего сигнала (Simulink).
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).
Параметры блоков: KernelDataTypeStr |
Ввод: символьный вектор |
Значения: 'Inherit: Inherit via internal rule | 'Inherit: Keep MSB' | 'Inherit: Match scaling' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'uint64' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
Значение по умолчанию: 'double' |
Kernel minimum
— Минимальное значение расчета ядра для проверки диапазона[]
(значение по умолчанию) | скалярНижнее значение области значений внутренней переменной расчета ядра это Simulink Check.
Simulink использует минимальное значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков (Simulink)) для некоторых блоков.
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала (Simulink) и Включает Проверку диапазона Симуляции (Simulink)).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Embedded Coder).
Примечание
Параметр Kernel minimum не насыщает или отсекает фактический сигнал значения расчета ядра.
Параметры блоков: KernelOutMin |
Ввод: символьный вектор |
Значения: '[ ]' | скаляр |
Значение по умолчанию: '[ ]' |
Kernel maximum
— Максимальное значение расчета ядра для проверки диапазона[]
(значение по умолчанию) | скалярВерхнее значение области значений внутренней переменной расчета ядра это Simulink Check.
Simulink использует максимальное значение, чтобы выполнить:
Проверка диапазона параметра (см., Задает Минимальные и Максимальные значения для Параметров блоков (Simulink)) для некоторых блоков.
Проверка диапазона симуляции (см., Указывает Диапазоны сигнала (Simulink) и Включает Проверку диапазона Симуляции (Simulink)).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов симуляции, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Embedded Coder).
Примечание
Параметр Kernel maximum не насыщает или отсекает фактический сигнал значения расчета ядра.
Параметры блоков: KernelOutMax |
Ввод: символьный вектор |
Значения: '[ ]' | скаляр |
Значение по умолчанию: '[ ]' |
Если вы используете линейную модель SVM, и она имеет много векторов поддержки, то предсказание может быть медленным. Чтобы эффективно предсказать ответы на основе линейной модели SVM, удалите векторы поддержки из RegressionSVM
объект при помощи discardSupportVectors
.
Можно использовать блок MATLAB function с predict
объектная функция RegressionSVM
объект. Для примера смотрите, Предсказывают, что Класс Маркирует 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.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.