resubMargin

Классификационный запас для реституции

    Описание

    пример

    m = resubMargin(Mdl) возвращает регрессионную классификационную маржу (m) для обученной классификационной модели Mdl использование данных предиктора, хранящихся в Mdl.X и соответствующие метки истинного класса, хранящиеся в Mdl.Y.

    m возвращается как n-на-1 числовой вектор-столбец, где n - количество наблюдений в данных предиктора.

    пример

    m = resubMargin(Mdl,'IncludeInteractions',includeInteractions) задает, включать ли термины взаимодействия в расчеты. Этот синтаксис применяется только к обобщенным аддитивным моделям.

    Примеры

    свернуть все

    Оцените классификационные поля реституции (в выборке) наивного классификатора Байеса. Запас наблюдения является наблюдаемым истинным классом счет минус максимальный ложный класс, счет среди всех счетов в соответствующем классе.

    Загрузите fisheriris набор данных. Создание X как числовая матрица, которая содержит четыре измерения для 150 ирисов. Создание Y как массив ячеек из векторов символов, который содержит соответствующие виды радужной оболочки.

    load fisheriris
    X = meas;
    Y = species;

    Обучите наивный классификатор Байеса с помощью предикторов X и метки классов Y. Рекомендуемая практика состоит в том, чтобы задать имена классов. fitcnb принимает, что каждый предиктор условно и нормально распределен.

    Mdl = fitcnb(X,Y,'ClassNames',{'setosa','versicolor','virginica'})
    Mdl = 
      ClassificationNaiveBayes
                  ResponseName: 'Y'
         CategoricalPredictors: []
                    ClassNames: {'setosa'  'versicolor'  'virginica'}
                ScoreTransform: 'none'
               NumObservations: 150
             DistributionNames: {'normal'  'normal'  'normal'  'normal'}
        DistributionParameters: {3x4 cell}
    
    
      Properties, Methods
    
    

    Mdl является обученным ClassificationNaiveBayes классификатор.

    Оцените классификационные маржи реституции.

    m = resubMargin(Mdl);
    median(m)
    ans = 1.0000
    

    Отображение гистограммы полей классификации в выборке.

    histogram(m,30,'Normalization','probability')
    xlabel('In-Sample Margins')
    ylabel('Probability')
    title('Probability Distribution of the In-Sample Margins')

    Figure contains an axes. The axes with title Probability Distribution of the In-Sample Margins contains an object of type histogram.

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

    Выполните выбор признаков путем сравнения полей в выборке из нескольких моделей. Основываясь исключительно на этом сравнении, модель с наивысшими полями является лучшей моделью.

    Загрузите ionosphere набор данных. Задайте два набора данных:

    • fullX содержит все предикторы (кроме удаленного столбца 0s).

    • partX содержит последние 20 предикторов.

    load ionosphere
    fullX = X;
    partX = X(:,end-20:end);

    Обучите классификатор машины опорных векторов (SVM) для каждого набора предикторов.

    FullSVMModel = fitcsvm(fullX,Y);
    PartSVMModel = fitcsvm(partX,Y);

    Оцените поля в выборке для каждого классификатора.

    fullMargins = resubMargin(FullSVMModel);
    partMargins = resubMargin(PartSVMModel);
    n = size(X,1);
    p = sum(fullMargins < partMargins)/n
    p = 0.2251
    

    Приблизительно 22% запаса от полной модели меньше, чем от модели с меньшим количеством предикторов. Этот результат говорит о том, что модель, обученная со всеми предикторами, лучше.

    Сравните обобщенную аддитивную модель (GAM) с линейными терминами к GAM как с линейными терминами, так и с терминами взаимодействия путем исследования полей и ребра обучающей выборки. Основываясь исключительно на этом сравнении, классификатор с самыми высокими полями и ребром является лучшей моделью.

    Загрузка данных переписи 1994 года, хранящихся в census1994.mat. Набор данных состоит из демографических данных Бюро переписи населения США, чтобы предсказать, составляет ли индивидуум более 50 000 долларов в год. Задача классификации состоит в том, чтобы соответствовать модели, которая предсказывает категорию заработной платы людей с учетом их возраста, рабочего класса, уровня образования, семейного положения, расы и так далее.

    load census1994

    census1994 содержит обучающий набор обучающих данных adultdata и набор тестовых данных adulttest. Чтобы уменьшить время работы для этого примера, выделите 500 обучающих наблюдений из adultdata при помощи datasample функция.

    rng('default') % For reproducibility
    NumSamples = 5e2;
    adultdata = datasample(adultdata,NumSamples,'Replace',false);

    Обучите GAM, который содержит как линейные, так и условия взаимодействия для предикторов. Задайте, чтобы включить все доступные условия взаимодействия, значения p которых не более 0,05.

    Mdl = fitcgam(adultdata,'salary','Interactions','all','MaxPValue',0.05)
    Mdl = 
      ClassificationGAM
               PredictorNames: {1x14 cell}
                 ResponseName: 'salary'
        CategoricalPredictors: [2 4 6 7 8 9 10 14]
                   ClassNames: [<=50K    >50K]
               ScoreTransform: 'logit'
                    Intercept: -32.0842
                 Interactions: [82x2 double]
              NumObservations: 500
    
    
      Properties, Methods
    
    

    Mdl является ClassificationGAM объект модели. Mdl включает 82 условия взаимодействия.

    Оцените поля и ребро обучающей выборки для Mdl.

    M = resubMargin(Mdl);
    E = resubEdge(Mdl)
    E = 1.0000
    

    Оцените поля и ребро обучающей выборки для Mdl без включения условий взаимодействия.

    M_nointeractions = resubMargin(Mdl,'IncludeInteractions',false);
    E_nointeractions = resubEdge(Mdl,'IncludeInteractions',false)
    E_nointeractions = 0.9516
    

    Отображение распределений полей с помощью прямоугольных графиков.

    boxplot([M M_nointeractions],'Labels',{'Linear and Interaction Terms','Linear Terms Only'})
    title('Box Plots of Training Sample Margins')

    Figure contains an axes. The axes with title Box Plots of Training Sample Margins contains 14 objects of type line.

    Когда вы включаете условия взаимодействия в расчет, все значения запаса для реституции для Mdl равны 1, и значение ребра восстановления (среднее значение полей) равняется 1. Поля и ребро уменьшаются, когда вы не включаете условия взаимодействия в Mdl.

    Входные параметры

    свернуть все

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

    МодельОбъект модели
    Обобщенная аддитивная модельClassificationGAM
    k - ближайшая соседняя модельClassificationKNN
    Наивная модель БайесаClassificationNaiveBayes
    Модель нейронной сетиClassificationNeuralNetwork
    Поддерживайте векторную машину для одноклассовой и двоичной классификацииClassificationSVM

    Флаг для включения условий взаимодействия модели, заданный как true или false. Этот аргумент действителен только для обобщенной аддитивной модели (GAM). То есть можно задать этот аргумент только тогда, когда Mdl является ClassificationGAM.

    Значение по умолчанию true если Mdl содержит условия взаимодействия. Значение должно быть false если модель не содержит членов взаимодействия.

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

    Подробнее о

    свернуть все

    Классификационное поле

    Для каждого наблюдения classification margin двоичной классификации является различие между классификационной оценкой для истинного класса и классификационной оценкой для ложного класса. Для многоклассовой классификации classification margin является различие между классификационной оценкой для истинного класса и максимальной классификационной оценкой для ложных классов.

    Если поля находятся на одной и той же шкале (то есть значения баллов основаны на том же счете преобразовании), то они служат классификацией доверия мерой. Среди нескольких классификаторов лучше те, которые дают большую маржу.

    Алгоритмы

    resubMargin вычисляет классификационный запас согласно соответствующей margin функция объекта (Mdl). Для описания модели смотрите margin функция, страницы с описанием в следующей таблице.

    МодельОбъект модели (Mdl)margin Функция объекта
    Обобщенная аддитивная модельClassificationGAMmargin
    k - ближайшая соседняя модельClassificationKNNmargin
    Наивная модель БайесаClassificationNaiveBayesmargin
    Модель нейронной сетиClassificationNeuralNetworkmargin
    Поддерживайте векторную машину для одноклассовой и двоичной классификацииClassificationSVMmargin

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

    См. также

    | |

    Введенный в R2012a