Классификация наблюдений с помощью классификатора дерева решений
Statistics and Machine Learning Toolbox/Классификация
Блок ClassificationTree Predict классифицирует наблюдения с помощью объекта дерева классификации (ClassificationTree
или CompactClassificationTree
) для многоклассовой классификации.
Импортируйте обученный объект классификации в блок путем определения имени переменной рабочей области, содержащей объект. Порт входа x получает наблюдение (данные предиктора), и выход порт label возвращает предсказанную метку класса для наблюдения. Можно добавить дополнительный выходной порт score который возвращает предсказанные счета классов или апостериорные вероятности.
x
- Данные предиктораДанные предиктора, заданные как вектор-столбец или вектор-строка одного наблюдения.
Переменные в x должны иметь тот же порядок, что и переменные-предикторы, которые обучали модель, заданную Select trained machine learning model
.
Типы данных: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
label
- Предсказанная метка классаПредсказанная метка класса, возвращенная как скаляр. Предсказанный класс является классом, который минимизирует ожидаемые затраты классификации. Для получения дополнительной информации смотрите раздел «Подробнее» в predict
страница с описанием функции.
Типы данных: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
score
- Предсказанные счета классов или апостериорные вероятностиПредсказанные счета классов или апостериорные вероятности, возвращенные как вектор-строка размера 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
Select trained machine learning model
- Модель дерева классификацииtreeMdl
(по умолчанию) | ClassificationTree
| объекта CompactClassificationTree
объектУкажите имя переменной рабочей области, содержащей ClassificationTree
объект или CompactClassificationTree
объект.
Когда вы обучаете модель при помощи fitctree
, действуют следующие ограничения:
Данные предиктора не могут включать категориальные предикторы (logical
, categorical
, char
, string
, или cell
). Если вы поставляете обучающие данные в таблицу, предикторы должны быть числовыми (double
или single
). Кроме того, вы не можете использовать 'CategoricalPredictors'
аргумент имя-значение. Чтобы включить категориальные предикторы в модель, предварительно обработайте категориальные предикторы с помощью dummyvar
перед подгонкой модели.
Значение 'ScoreTransform'
аргумент имя-значение не может быть 'invlogit'
или анонимную функцию.
Вы не можете использовать суррогатные расщепления, то есть значение 'Surrogate'
аргумент имя-значение должен быть 'off'
(по умолчанию).
Параметры блоков:
TrainedLearner
|
Тип: переменная рабочей области |
Значения:
ClassificationTree | объекта CompactClassificationTree объект |
По умолчанию:
'treeMdl'
|
Add output port for predicted class scores
- Добавьте второй выходной порт для предсказанных счетов классовoff
(по умолчанию) | on
Установите флажок, чтобы включить второй выходной порт, score в блок ClassificationTree Predict.
Параметры блоков:
ShowOutputScore
|
Тип: Вектор символов |
Значения:
'off' | 'on'
|
По умолчанию:
'off'
|
Integer rounding mode
- Режим округления для операций с фиксированной точкой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
- Предотвратить переопределение типа данных инструментами с фиксированной точкойoff
(по умолчанию) | on
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли тип данных, заданный для блока. Для получения дополнительной информации смотрите Использование настройки типа выходных данных блокировки (Fixed-Point Designer).
Параметры блоков:
LockScale
|
Тип: Вектор символов |
Значения:
'off' | 'on'
|
По умолчанию:
'off'
|
Label data type
- Тип данных вывода метки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>
Укажите тип данных для выхода 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' (для нечисловых меток) |
Label minimum
- Минимальное значение выходного сигнала метки для проверки области значений[]
(по умолчанию) | скаляромБолее низкий значение < reservedrangesplaceholder0 > выход области значений том Simulink® проверки.
Simulink использует минимальное значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков (Simulink)») для некоторых блоков.
Проверка области значений симуляции (см. «Задание диапазонов сигнала (Simulink)» и «Включение проверки области значений симуляции (Simulink)»).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов симуляции, таких как SIL или режим external mode. Для получения дополнительной информации смотрите Оптимизировать используя указанные минимальное и максимальное значения (Embedded Coder).
Примечание
Параметр Label minimum не насыщает или не зажимает фактический label выходной сигнал. Вместо этого используйте Saturation (Simulink) блок.
Можно задать этот параметр, только если модель задана как Select trained machine learning model
использует числовые метки.
Параметры блоков: LabelOutMin |
Тип: Вектор символов |
Значения: '[]' | скаляр |
По умолчанию: '[]' |
Label maximum
- Максимальное значение выходного сигнала метки для проверки области значений[]
(по умолчанию) | скаляромВерхний значение < reservedrangesplaceholder0 > выход области значений, которое проверяет Simulink.
Simulink использует максимальное значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков (Simulink)») для некоторых блоков.
Проверка области значений симуляции (см. «Задание диапазонов сигнала (Simulink)» и «Включение проверки области значений симуляции (Simulink)»).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов симуляции, таких как SIL или режим external mode. Для получения дополнительной информации смотрите Оптимизировать используя указанные минимальное и максимальное значения (Embedded Coder).
Примечание
Параметр Label maximum не насыщает или не зажимает фактический label выходной сигнал. Вместо этого используйте Saturation (Simulink) блок.
Можно задать этот параметр, только если модель задана как Select trained machine learning model
использует числовые метки.
Параметры блоков: LabelOutMax |
Тип: Вектор символов |
Значения: '[]' | скаляр |
По умолчанию: '[]' |
Score data type
- Тип данных вывода счета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>
Укажите тип данных для выхода 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' |
Score minimum
- Минимальное значение результата для проверки области значений[]
(по умолчанию) | скаляромБолее низкий значение < reservedrangesplaceholder0 > выход области значений, что Simulink проверяет.
Simulink использует минимальное значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков (Simulink)») для некоторых блоков.
Проверка области значений симуляции (см. «Задание диапазонов сигнала (Simulink)» и «Включение проверки области значений симуляции (Simulink)»).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов симуляции, таких как SIL или режим external mode. Для получения дополнительной информации смотрите Оптимизировать используя указанные минимальное и максимальное значения (Embedded Coder).
Примечание
Параметр Score minimum не насыщает или не зажимает фактический сигнал score. Вместо этого используйте Saturation (Simulink) блок.
Параметры блоков: ScoreOutMin |
Тип: Вектор символов |
Значения: '[]' | скаляр |
По умолчанию: '[]' |
Score maximum
- Максимальное значение результата для проверки области значений[]
(по умолчанию) | скаляромВерхний значение < reservedrangesplaceholder0 > выход области значений, которое проверяет Simulink.
Simulink использует максимальное значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков (Simulink)») для некоторых блоков.
Проверка области значений симуляции (см. «Задание диапазонов сигнала (Simulink)» и «Включение проверки области значений симуляции (Simulink)»).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов симуляции, таких как SIL или режим external mode. Для получения дополнительной информации смотрите Оптимизировать используя указанные минимальное и максимальное значения (Embedded Coder).
Примечание
Параметр Score maximum не насыщает или не зажимает фактический сигнал score. Вместо этого используйте Saturation (Simulink) блок.
Параметры блоков: ScoreOutMax |
Тип: Вектор символов |
Значения: '[]' | скаляр |
По умолчанию: '[]' |
Raw score data type
- Нетрансформированный тип данных счета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)
| boolean
| <data type expression>
Укажите тип данных для внутренних нетрансформированных счетов. Тип может быть унаследован, задан непосредственно или выражен как объект типа данных, такой как 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' |
Raw score minimum
- Минимальная нетрансформированный счет для проверки области значений[]
(по умолчанию) | скаляромБолее низкое значение нетрансформированной области значений счетов, который проверяет Simulink.
Simulink использует минимальное значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков (Simulink)») для некоторых блоков.
Проверка области значений симуляции (см. «Задание диапазонов сигнала (Simulink)» и «Включение проверки области значений симуляции (Simulink)»).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов симуляции, таких как SIL или режим external mode. Для получения дополнительной информации смотрите Оптимизировать используя указанные минимальное и максимальное значения (Embedded Coder).
Примечание
Параметр Raw score minimum не насыщает или не клипсирует фактический нетрансформированный сигнал счета.
Параметры блоков: RawScoreOutMin |
Тип: Вектор символов |
Значения: '[]' | скаляр |
По умолчанию: '[]' |
Raw score maximum
- Максимальная нетрансформированный счет для проверки области значений[]
(по умолчанию) | скаляромВерхнее значение нетрансформированной области значений счетов, который проверяет Simulink.
Simulink использует максимальное значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков (Simulink)») для некоторых блоков.
Проверка области значений симуляции (см. «Задание диапазонов сигнала (Simulink)» и «Включение проверки области значений симуляции (Simulink)»).
Автоматическое масштабирование типов данных с фиксированной точкой.
Оптимизация кода, который вы генерируете из модели. Эта оптимизация может удалить алгоритмический код и повлиять на результаты некоторых режимов симуляции, таких как SIL или режим external mode. Для получения дополнительной информации смотрите Оптимизировать используя указанные минимальное и максимальное значения (Embedded Coder).
Примечание
Параметр Raw score maximum не насыщает или не клипсирует фактический нетрансформированный сигнал счета.
Параметры блоков: RawScoreOutMax |
Тип: Вектор символов |
Значения: '[]' | скаляр |
По умолчанию: '[]' |
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Вы можете использовать блок 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.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.