ClassificationTree Predict

Классификация наблюдений с помощью классификатора дерева решений

  • Библиотека:
  • Statistics and Machine Learning Toolbox/Классификация

Описание

Блок ClassificationTree Predict классифицирует наблюдения с помощью объекта дерева классификации (ClassificationTree или CompactClassificationTree) для многоклассовой классификации.

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

Порты

Вход

расширить все

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

Зависимости

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

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

Выход

расширить все

Предсказанная метка класса, возвращенная как скаляр. Предсказанный класс является классом, который минимизирует ожидаемые затраты классификации. Для получения дополнительной информации смотрите раздел «Подробнее» в predict страница с описанием функции.

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

Предсказанные счета классов или апостериорные вероятности, возвращенные как вектор-строка размера 1-by- k, где k - количество классов в древовидной модели.

Классификационная оценка листового узла является апостериорной вероятностью классификации в узле. Апостериорная вероятность классификации в узле - это количество обучающих наблюдений, которые ведут к узлу с классификацией, разделенной на количество обучающих наблюдений, которые ведут к узлу.

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

Зависимости

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

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

Параметры

расширить все

Главный

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

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

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

  • Значение 'ScoreTransform' аргумент имя-значение не может быть 'invlogit' или анонимную функцию.

  • Вы не можете использовать суррогатные расщепления, то есть значение 'Surrogate' аргумент имя-значение должен быть 'off' (по умолчанию).

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

Параметры блоков: TrainedLearner
Тип: переменная рабочей области
Значения: ClassificationTree | объекта CompactClassificationTree объект
По умолчанию: 'treeMdl'

Установите флажок, чтобы включить второй выходной порт, score в блок ClassificationTree Predict.

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

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

Типы данных

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

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

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

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

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

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

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

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

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

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

Примечание

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

Зависимости

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

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

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

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

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

Примечание

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

Зависимости

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

Типы данных

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

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

yes

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

no

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

no

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

no

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

Вы можете использовать блок MATLAB Function с predict функция объекта древовидного объекта классификации (ClassificationTree или CompactClassificationTree). Для получения примера смотрите Предсказание меток классов с использованием Блока MATLAB function.

При решении, использовать ли блок ClassificationTree 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.

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

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

.

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

Введенный в R2021a
Для просмотра документации необходимо авторизоваться на сайте