CompactClassificationGAM

Компактная обобщенная аддитивная модель (GAM) для двоичной классификации

    Описание

    CompactClassificationGAM является компактной версией ClassificationGAM объект модели (GAM для двоичной классификации). Компактная модель не включает данные, используемые для настройки классификатора. Поэтому вы не можете выполнить некоторые задачи, такие как перекрестная валидация, используя компактную модель. Используйте компактную модель для задач, таких как предсказание меток новых данных.

    Создание

    Создайте CompactClassificationGAM объект из полного ClassificationGAM объект модели при помощи compact.

    Свойства

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

    Свойства GAM

    Это свойство доступно только для чтения.

    Индексы терминов взаимодействия, заданные как t-by-2 матрица положительных целых чисел, где t - количество членов взаимодействия в модели. Каждая строка матрицы представляет один член взаимодействия и содержит индексы столбцов данных предиктора X для термина взаимодействия. Если модель не включает термин взаимодействия, то это свойство пустое ([]).

    Программа добавляет условия взаимодействия к модели в порядке важности на основе p значений. Используйте это свойство для проверки порядка терминов взаимодействия, добавленных в модель.

    Типы данных: double

    Это свойство доступно только для чтения.

    Перехват (константа) члена модели, который является суммой точки пересечения членов в деревьях предикторов и деревьях взаимодействия, заданных как числовой скаляр.

    Типы данных: single | double

    Другие классификационные свойства

    Это свойство доступно только для чтения.

    Категориальные индексы предиктора, заданные как вектор положительных целых чисел. CategoricalPredictors содержит значения индекса, соответствующие столбцам данных предиктора, которые содержат категориальные предикторы. Если ни один из предикторов не является категориальным, то это свойство пустое ([]).

    Типы данных: double

    Это свойство доступно только для чтения.

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

    Типы данных: single | double | logical | char | cell | categorical

    Затраты на неправильную классификацию, заданные как числовая матрица 2 на 2.

    Стоимость (i, j) - стоимость классификации точки в класс j если его класс true i. Порядок строк и столбцов Cost соответствует порядку классов в ClassNames.

    Программное обеспечение использует Cost значение для предсказания, но не для обучения. Вы можете изменить значение с помощью записи через точку.

    Пример: Mdl.Cost = C;

    Типы данных: double

    Это свойство доступно только для чтения.

    Расширенные имена предикторов, заданные как массив ячеек из векторов символов.

    ExpandedPredictorNames то же, что и PredictorNames для обобщенной аддитивной модели.

    Типы данных: cell

    Это свойство доступно только для чтения.

    Имена переменных предиктора, заданные как массив ячеек из векторов символов. Порядок элементов PredictorNames соответствует порядку, в котором имена предикторов появляются в обучающих данных.

    Типы данных: cell

    Это свойство доступно только для чтения.

    Вероятности предыдущего класса, заданные как числовой вектор с двумя элементами. Порядок элементов соответствует порядку элементов в ClassNames.

    Типы данных: double

    Это свойство доступно только для чтения.

    Имя переменной отклика, заданное как вектор символов.

    Типы данных: char

    Преобразование счета, заданное как вектор символов или указатель на функцию. ScoreTransform представляет встроенную функцию преобразования или указатель на функцию для преобразования предсказанных классификационных оценок.

    Чтобы изменить функцию преобразования счета на functionдля примера используйте запись через точку.

    • Для встроенной функции введите вектор символов.

      Mdl.ScoreTransform = 'function';

      В этой таблице описываются доступные встроенные функции.

      ЗначениеОписание
      'doublelogit'1/(1 + e–2x)
      'invlogit'журнал (x/( 1 - x))
      'ismax'Устанавливает счет для класса с самым большим счетом равным 1 и устанавливает счета для всех других классов равным 0
      'logit'1/(1 + ex)
      'none' или 'identity'x (без преобразования)
      'sign'-1 для x < 0
      0 для x = 0
      1 для x > 0
      'symmetric'2 x – 1
      'symmetricismax'Устанавливает счет для класса с самым большим счетом равным 1 и устанавливает счета для всех других классов равной -1
      'symmetriclogit'2/(1 + ex) – 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
    predictКлассифицируйте наблюдения с помощью обобщенной аддитивной модели (GAM)
    lossКлассификационные потери для обобщенной аддитивной модели (GAM)
    marginКлассификационные поля для обобщенной аддитивной модели (GAM)
    edgeКлассификационные ребра для обобщенной аддитивной модели (GAM)
    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.

    Введенный в R2021a