resubEdge

Ребро классификации реституции

    Описание

    пример

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

    пример

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

    Примеры

    свернуть все

    Загрузите ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный ответ для радиолокационных возвратов, либо плохо ('b') или хорошо ('g').

    load ionosphere

    Обучите классификатор машины опорных векторов (SVM). Стандартизируйте данные и задайте, что 'g' - положительный класс.

    SVMModel = fitcsvm(X,Y,'Standardize',true,'ClassNames',{'b','g'});

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

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

    e = resubEdge(SVMModel)
    e = 5.0999
    

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

    Загрузите ionosphere набор данных. Удалите первые два предиктора устойчивости.

    load ionosphere
    X = X(:,3:end);

    Задайте эти два набора данных:

    • fullX содержит все предикторы.

    • partX содержит 10 наиболее важных предикторов.

    fullX = X;
    idx = fscmrmr(X,Y);
    partX = X(:,idx(1:10));

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

    FullMdl = fitcnb(fullX,Y);
    PartMdl = fitcnb(partX,Y);

    FullMdl и PartMdl обучаются ClassificationNaiveBayes классификаторы.

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

    fullEdge = resubEdge(FullMdl)
    fullEdge = 0.6554
    
    partEdge = resubEdge(PartMdl)
    partEdge = 0.7796
    

    Ребро классификатора, обученного на 10 самых важных предикторах, больше. Этот результат предполагает, что классификатор, обученный с использованием только этих предикторов, имеет лучшую подгонку в выборке.

    Сравните обобщенную аддитивную модель (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 edge - средневзвешенное значение классификационных полей.

    Один из способов выбрать один из нескольких классификаторов, например, для выбора признаков, - выбрать классификатор, который дает наибольшее ребро.

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

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

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

    Алгоритмы

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

    МодельОбъект модели (Mdl)edge Функция объекта
    Обобщенная аддитивная модельClassificationGAMedge
    k - ближайшая соседняя модельClassificationKNNedge
    Наивная модель БайесаClassificationNaiveBayesedge
    Модель нейронной сетиClassificationNeuralNetworkedge
    Поддерживайте векторную машину для одноклассовой и двоичной классификацииClassificationSVMedge

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

    См. также

    | |

    Введенный в R2012a