Компактная обобщенная аддитивная модель (GAM) для двоичной классификации
CompactClassificationGAM
является компактной версией ClassificationGAM
объект модели (GAM для двоичной классификации). Компактная модель не включает данные, используемые для настройки классификатора. Поэтому вы не можете выполнить некоторые задачи, такие как перекрестная валидация, используя компактную модель. Используйте компактную модель для задач, таких как предсказание меток новых данных.
Создайте CompactClassificationGAM
объект из полного ClassificationGAM
объект модели при помощи compact
.
Interactions
- Индексы терминов взаимодействия[]
Это свойство доступно только для чтения.
Индексы терминов взаимодействия, заданные как t
-by-2 матрица положительных целых чисел, где t
- количество членов взаимодействия в модели. Каждая строка матрицы представляет один член взаимодействия и содержит индексы столбцов данных предиктора X
для термина взаимодействия. Если модель не включает термин взаимодействия, то это свойство пустое ([]
).
Программа добавляет условия взаимодействия к модели в порядке важности на основе p значений. Используйте это свойство для проверки порядка терминов взаимодействия, добавленных в модель.
Типы данных: double
Intercept
- Точка пересечения моделиЭто свойство доступно только для чтения.
Перехват (константа) члена модели, который является суммой точки пересечения членов в деревьях предикторов и деревьях взаимодействия, заданных как числовой скаляр.
Типы данных: single
| double
CategoricalPredictors
- Категориальные индексы предиктора[]
Это свойство доступно только для чтения.
Категориальные индексы предиктора, заданные как вектор положительных целых чисел. CategoricalPredictors
содержит значения индекса, соответствующие столбцам данных предиктора, которые содержат категориальные предикторы. Если ни один из предикторов не является категориальным, то это свойство пустое ([]
).
Типы данных: double
ClassNames
- Уникальные метки классовЭто свойство доступно только для чтения.
Уникальные метки классов, используемые в обучении, заданные как категориальный или символьный массив, логический или числовой вектор или массив ячеек векторов символов. ClassNames
имеет тот совпадающий тип данных, что и метки классов Y
. (Программа обрабатывает массивы строк как массивы ячеек векторов символов.)
ClassNames
также определяет порядок классов.
Типы данных: single
| double
| logical
| char
| cell
| categorical
Cost
- Расходы на неправильную классификациюЗатраты на неправильную классификацию, заданные как числовая матрица 2 на 2.
Стоимость
- стоимость классификации точки в класс (i
, j
)j
если его класс true i
. Порядок строк и столбцов Cost
соответствует порядку классов в ClassNames
.
Программное обеспечение использует Cost
значение для предсказания, но не для обучения. Вы можете изменить значение с помощью записи через точку.
Пример: Mdl.Cost = C;
Типы данных: double
ExpandedPredictorNames
- Расширенные имена предикторовЭто свойство доступно только для чтения.
Расширенные имена предикторов, заданные как массив ячеек из векторов символов.
ExpandedPredictorNames
то же, что и PredictorNames
для обобщенной аддитивной модели.
Типы данных: cell
PredictorNames
- Имена переменных предиктораЭто свойство доступно только для чтения.
Имена переменных предиктора, заданные как массив ячеек из векторов символов. Порядок элементов PredictorNames
соответствует порядку, в котором имена предикторов появляются в обучающих данных.
Типы данных: cell
Prior
- Вероятности предыдущего классаЭто свойство доступно только для чтения.
Вероятности предыдущего класса, заданные как числовой вектор с двумя элементами. Порядок элементов соответствует порядку элементов в ClassNames
.
Типы данных: double
ResponseName
- Имя переменной откликаЭто свойство доступно только для чтения.
Имя переменной отклика, заданное как вектор символов.
Типы данных: char
ScoreTransform
- Преобразование счетаПреобразование счета, заданное как вектор символов или указатель на функцию. ScoreTransform
представляет встроенную функцию преобразования или указатель на функцию для преобразования предсказанных классификационных оценок.
Чтобы изменить функцию преобразования счета на function
для примера используйте запись через точку.
Для встроенной функции введите вектор символов.
Mdl.ScoreTransform = 'function';
В этой таблице описываются доступные встроенные функции.
Значение | Описание |
---|---|
'doublelogit' | 1/(1 + e–2x) |
'invlogit' | журнал (x/( 1 - x)) |
'ismax' | Устанавливает счет для класса с самым большим счетом равным 1 и устанавливает счета для всех других классов равным 0 |
'logit' | 1/(1 + e–x) |
'none' или 'identity' | x (без преобразования) |
'sign' | -1 для x < 0 0 для x = 0 1 для x > 0 |
'symmetric' | 2 x – 1 |
'symmetricismax' | Устанавливает счет для класса с самым большим счетом равным 1 и устанавливает счета для всех других классов равной -1 |
'symmetriclogit' | 2/(1 + e–x) – 1 |
Для MATLAB® function или функция, которую вы задаете, вводите указатель на функцию.
Mdl.ScoreTransform = @function;
function
необходимо принять матрицу (исходные счета) и вернуть матрицу того же размера (преобразованные счета).
Это свойство определяет выход счета расчета для функций объекта, таких как predict
, margin
, и edge
. Использование 'logit'
для вычисления апостериорных вероятностей и использования 'none'
вычислить логит апостериорных вероятностей.
Типы данных: char
| function_handle
lime | Локальные интерпретируемые модели-агностические объяснения (LIME) |
partialDependence | Вычисление частичной зависимости |
plotLocalEffects | Постройте график локальных эффектов терминов в обобщенной аддитивной модели (GAM) |
plotPartialDependence | Создайте график частичной зависимости (PDP) и отдельные графики условного ожидания (ICE) |
shapley | Значения Shapley |
compareHoldout | Сравните точности двух классификационных моделей с помощью новых данных |
Уменьшите размер полной обобщенной аддитивной модели (GAM) путем удаления обучающих данных. Полные модели содержат обучающие данные. Можно использовать компактную модель для повышения эффективности памяти.
Загрузите ionosphere
набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный ответ для радиолокационных возвратов, либо плохо ('b'
) или хорошо ('g'
).
load ionosphere
Обучите GAM с помощью предикторов X
и метки классов Y
. Рекомендуемая практика состоит в том, чтобы задать имена классов.
Mdl = fitcgam(X,Y,'ClassNames',{'b','g'})
Mdl = ClassificationGAM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'logit' Intercept: 2.2715 NumObservations: 351 Properties, Methods
Mdl
является ClassificationGAM
объект модели.
Уменьшите размер классификатора.
CMdl = compact(Mdl)
CMdl = CompactClassificationGAM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'logit' Intercept: 2.2715 Properties, Methods
CMdl
является CompactClassificationGAM
объект модели.
Отображение объема памяти, используемой каждым классификатором.
whos('Mdl','CMdl')
Name Size Bytes Class Attributes CMdl 1x1 1030010 classreg.learning.classif.CompactClassificationGAM Mdl 1x1 1230986 ClassificationGAM
Полный классификатор (Mdl
) больше компактного классификатора (CMdl
).
Чтобы эффективно пометить новые наблюдения, можно удалить Mdl
из рабочей области MATLAB ®, а затем передайте CMdl
и новые значения предиктора, чтобы predict
.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.