exponenta event banner

ClassificationSVM предсказывают

Классифицировать наблюдения с помощью классификатора вспомогательных векторов (SVM) для одноклассной и двоичной классификации

  • Библиотека:
  • Набор инструментов/классификация статистики и машинного обучения

Описание

Блок «Предсказание СВМ» классифицирует наблюдения с помощью объекта классификации СВМ (ClassificationSVM или CompactClassificationSVM) для одноклассной и двухклассовой (двоичной) классификации.

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

Порты

Вход

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

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

Зависимости

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

  • Если установить 'Standardize',true в fitcsvm при обучении модели SVM, затем блок предсказания XSVM стандартизирует значения 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 | enumerated

Предсказанные оценки класса или задние вероятности, возвращенные как скаляр для одноклассного обучения или вектор 1 на 2 для двухклассного обучения.

  • Для одноклассного обучения балл - это классификационный балл положительного класса. Нельзя получить апостериорные вероятности для одноклассного обучения.

  • Для двухклассного обучения оценка является вектором 1 на 2.

    • Первый и второй элементы оценки соответствуют классификационным баллам отрицательного класса (svmMdl.ClassNames(1)) и положительный класс (svmMdl.ClassNames(2)), соответственно, где svmMdl - модель SVM, указанная Select trained machine learning model. Вы можете использовать ClassNames имущество svmMdl для проверки отрицательных и положительных имен классов.

    • Если вы подгоняете оптимальную функцию преобразования «оценка-задняя вероятность», используя fitPosterior или fitSVMPosterior, то оценка содержит апостериорные вероятности класса. В противном случае оценка содержит оценки классов.

Зависимости

Чтобы включить этот порт, установите флажок для Add output port for predicted class scores на вкладке «Главная» диалогового окна «Параметры блока».

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

Параметры

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

Главный

Укажите имя переменной рабочей области, содержащей ClassificationSVM объект или CompactClassificationSVM объект.

При обучении модели SVM с помощью fitcsvm, применяются следующие ограничения:

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

  • Значение 'ScoreTransform' аргумент «имя-значение» не может быть 'invlogit' или анонимная функция. Для блока, который предсказывает задние вероятности, полученные при новых наблюдениях, передайте обученную модель SVM в fitPosterior или fitSVMPosterior.

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

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

Параметр блока: TrainedLearner
Тип: переменная рабочего пространства
Значения: ClassificationSVM объект | CompactClassificationSVM объект
По умолчанию: 'svmMdl'

Выберите опцию, чтобы включать второй счет порта продукции в ClassificationSVM, Предсказывают блок.

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

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

Типы данных

Рабочие параметры с фиксированной точкой

Укажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).

Параметры блока всегда округляются до ближайшего представимого значения. Для управления округлением параметра блока введите выражение с помощью функции округления 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'

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли тип данных, заданный для блока. Дополнительные сведения см. в разделе Использование параметров типа выходных данных блокировки (конструктор фиксированных точек).

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

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

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

При выборе унаследованной опции программное обеспечение работает следующим образом:

  • Inherit: Inherit via back propagation (по умолчанию для числовых и логических меток) - Simulink автоматически определяет тип данных блока Label во время распространения типа данных (см. раздел Распространение типа данных (Simulink)). В этом случае блок использует тип данных нисходящего блока или сигнального объекта.

  • Inherit: auto (по умолчанию для нечисловых меток) - блок использует автоматически определенную переменную перечисляемого типа данных. Например, предположим, что имя переменной рабочей области указано Select trained machine learning model является myMdl, а метки классов: class 1 и class 2. Затем соответствующие значения метки myMdl_enumLabels.class_1 и myMdl_enumLabels.class_2. Блок преобразует метки класса в допустимые идентификаторы MATLAB с помощью matlab.lang.makeValidName функция.

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

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

Зависимости

Поддерживаемые типы данных зависят от меток, используемых в модели, указанной в Select trained machine learning model.

  • Если в модели используются числовые или логические метки, поддерживаются следующие типы данных: Inherit: Inherit via back propagation (по умолчанию), double, single, half, int8, uint8, int16, uint16, int32, uint32, int64, uint64, boolean, фиксированная точка и объект типа данных.

  • Если в модели используются нечисловые метки, поддерживаются следующие типы данных: Inherit: auto (по умолчанию), Enum: <class name>и объект типа данных.

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

Параметр блока: LabelDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: Inherit via back propagation' | '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)' | 'Enum: <class name>' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via back propagation' (для числовых и логических меток) | 'Inherit: auto' (для нечисловых этикеток)

Меньшее значение диапазона вывода метки, которое проверяет Simulink ®.

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

Примечание

Параметр Label minimum не насыщает и не отсекает фактический выходной сигнал метки. Вместо этого используйте блок «Насыщенность» (Simulink).

Зависимости

Этот параметр можно задать только в том случае, если модель задана Select trained machine learning model использует числовые метки.

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

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

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

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

Примечание

Параметр Label maximum не насыщает и не отсекает фактический выходной сигнал метки. Вместо этого используйте блок «Насыщенность» (Simulink).

Зависимости

Этот параметр можно задать только в том случае, если модель задана Select trained machine learning model использует числовые метки.

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

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

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

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

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

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

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

Параметр блока: ScoreDataTypeStr
Текст: символьный вектор
Значения: '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'

Меньшее значение диапазона вывода оценки, которое проверяет Simulink.

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

Примечание

Параметр Score minimum не насыщает и не отсекает действительный сигнал оценки. Вместо этого используйте блок «Насыщенность» (Simulink).

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

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

Верхнее значение диапазона вывода оценки, которое проверяет Simulink.

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

Примечание

Параметр Score maximum не насыщает и не отсекает действительный сигнал score. Вместо этого используйте блок «Насыщенность» (Simulink).

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

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

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

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

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

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

Зависимости

Этот параметр можно задать только в том случае, если модель задана Select trained machine learning model использует преобразование баллов, отличное от 'none' (по умолчанию, то же, что и 'identity').

  • Если модель не использует преобразования баллов ('none' или 'identity'), то можно указать тип данных оценки с помощью Score data type.

  • Если модель использует преобразование баллов, отличное от 'none' или 'identity', то вы можете указать тип данных нетрансформированных необработанных баллов с помощью этого параметра и указать тип данных преобразованных баллов с помощью Score data type.

Можно изменить параметр преобразования баллов, указав 'ScoreTransform' аргумент «имя-значение» во время обучения или путем изменения ScoreTransform имущество после обучения.

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

Параметр блока: RawScoreDataTypeStr
Текст: символьный вектор
Значения: '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'

Меньшее значение нетрансформированного диапазона баллов, который проверяет Simulink.

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

Примечание

Параметр Raw score minimum не насыщает и не отсекает действительный нетрансформированный сигнал score.

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

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

Верхнее значение нетрансформированного диапазона баллов, проверяемого Simulink.

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

Примечание

Параметр Raw score maximum не насыщает и не отсекает действительный нетрансформированный сигнал score.

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

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

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

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

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

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

Нажмите кнопку Показать помощник по типам данных, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (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 | enumerated | fixed point | half | integer | single

Прямой проход

yes

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

no

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

no

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

no

Подробнее

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

Совет

  • Если используется линейная модель SVM и она имеет множество векторов поддержки, то прогнозирование (классификация наблюдений) может быть медленным. Для эффективной классификации наблюдений на основе линейной модели SVM удалите векторы поддержки из ClassificationSVM или CompactClassificationSVM объект с помощью discardSupportVectors.

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

Функциональный блок MATLAB можно использовать с predict функция объекта классификации SVM (ClassificationSVM или CompactClassificationSVM). Пример см. в разделе Прогнозирование меток классов с использованием функционального блока MATLAB.

При принятии решения об использовании блока прогнозирования Toolbox™ в библиотеке статистики и машинного обучения или блока функции MATLAB с помощью predict рассмотрите следующие функции:

  • При использовании блока библиотеки инструментов «Статистика и машинное обучение» для преобразования модели с плавающей запятой в фиксированную можно использовать инструмент «Фиксированная точка» (Fixed-Point Designer).

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

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

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

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

В R2021a изменилось поведение

В R2021a изменилось поведение

В R2021a изменилось поведение

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

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

Представлен в R2020b