Обучите и сравните классификаторы Используя затраты Misclassification в приложении Classification Learner

В этом примере показано, как создать и сравнить классификаторы, которые используют заданные затраты misclassification в приложении Classification Learner. Задайте затраты misclassification перед обучением и используйте точность и общее количество misclassification результаты стоимости сравнить обученные модели.

  1. В MATLAB® Командное окно, считайте файл примера CreditRating_Historical.dat в таблицу. Данные о предикторе состоят из финансовых отношений и информации об отрасли промышленности для списка корпоративных клиентов. Переменная отклика состоит из кредитных рейтингов, присвоенных рейтинговым агентством. Объедините весь A оценки в одну оценку. Сделайте то же самое для B и C оценки, так, чтобы переменная отклика имела три отличных оценки. Среди этих трех оценок, A рассматривается лучшим и C худшее.

    creditrating = readtable('CreditRating_Historical.dat');
    Rating = categorical(creditrating.Rating);
    Rating = mergecats(Rating,{'AAA','AA','A'},'A');
    Rating = mergecats(Rating,{'BBB','BB','B'},'B');
    Rating = mergecats(Rating,{'CCC','CC','C'},'C');
    creditrating.Rating = Rating;
  2. Примите, что это затраты, сопоставленные с неправильной классификацией кредитных рейтингов клиентов.

     Клиент предсказанная оценка
    ABC
    Клиент истинная оценкаA$0$100$200
    B$500$0$100
    C$1000$500$0

    Например, стоимость неправильной классификации C оценка клиента как A оценка клиента составляет 1 000$. Затраты указывают, что, классифицируя клиента с плохим кредитом, когда клиент с хорошим кредитом является более дорогостоящим, чем классификация клиента с хорошим кредитом как клиент с плохим кредитом.

    Создайте матричную переменную, которая содержит затраты misclassification. Создайте другую переменную, которая задает имена классов и их порядок в матричной переменной.

    ClassificationCosts = [0 100 200; 500 0 100; 1000 500 0];
    ClassNames = categorical({'A','B','C'});
    

    Совет

    В качестве альтернативы можно задать затраты misclassification непосредственно в приложении Classification Learner. Смотрите Задают Затраты Misclassification для получения дополнительной информации.

  3. Открытый Classification Learner. Кликните по вкладке Apps, и затем кликните по стреле справа от раздела Apps, чтобы открыть галерею Apps. В группе Machine Learning and Deep Learning нажмите Classification Learner.

    Classification Learner tab

  4. На вкладке Classification Learner, в разделе File, выбирают New Session > From Workspace.

  5. В диалоговом окне New Session from Workspace выберите таблицу creditrating из списка Data Set Variable.

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

    New Session from Workspace dialog box

  6. Чтобы принять настройки по умолчанию, нажмите Start Session.

  7. Задайте затраты misclassification. На вкладке Classification Learner, в разделе Options, нажимают Misclassification Costs. Приложение открывает диалоговое окно, показывающее значение по умолчанию misclassification затраты.

    В диалоговом окне нажмите Import from Workspace.

    Specify misclassification costs dialog box. By default, correct classifications have a cost of 0, and incorrect classifications have a cost of 1.

    В диалоговом окне импорта выберите ClassificationCosts как переменная стоимости и ClassNames как порядок класса в переменной стоимости. Нажмите Import.

    Import costs from workspace dialog box

    Обновления приложения значения в misclassification стоят диалогового окна. Нажмите OK, чтобы сохранить ваши изменения.

    Dialog box with updated values for misclassification costs

  8. Обучите прекрасные, средние, и крупные деревья одновременно. На вкладке Classification Learner, в разделе Model Type, кликают по стреле, чтобы открыть галерею. В группе Decision Trees нажмите All Trees. В разделе Training нажмите Train. Приложение обучает один из каждого древовидного типа модели и отображает модели в панели Models.

    Совет

    Если у вас есть Parallel Computing Toolbox™, можно обучить все модели (All Trees) одновременно путем нажатия кнопки Use Parallel в разделе Training перед нажатием Train. После того, как вы нажимаете Train, диалоговое окно Opening Parallel Pool открывается и остается открытым, в то время как приложение открывает параллельный пул рабочих. В это время вы не можете взаимодействовать с программным обеспечением. После того, как пул открывается, приложение обучает модели одновременно.

    Validation confusion matrix for the fine tree model. Blue values indicate correct classifications, and red values indicate incorrect classifications.

    Примечание

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

  9. В панели Models кликните по модели, чтобы просмотреть результаты, которые отображены в панели Current Model Summary. Каждая модель имеет счет точности валидации, который указывает на процент правильно предсказанных ответов. В панели Models приложение подсвечивает самый высокий счет Accuracy (Validation) путем выделения его в поле.

  10. Смотрите точность предсказаний в каждом классе. На вкладке Classification Learner, в разделе Plots, кликают по стреле, чтобы открыть галерею, и затем нажать Confusion Matrix (Validation) в группе Validation Results. Отображения приложения матрица истинного класса и предсказанного класса заканчиваются для выбранной модели (в этом случае для среднего дерева).

    Validation confusion matrix for the medium tree model. Blue values indicate correct classifications, and red values indicate incorrect classifications.

  11. Можно также построить результаты в предсказанном классе, чтобы исследовать ложные уровни открытия. Под Plot выберите опцию False Discovery Rates (FDR) Positive Predictive Values (PPV).

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

    Validation confusion matrix, displayed with positive predictive values and false discovery rates

  12. Сравните общее количество misclassification затраты на древовидные модели. Чтобы смотреть общее количество misclassification стоимость модели, выберите модель в панели Models, и затем просмотрите раздел Training Results панели Current Model Summary. Например, среднее дерево имеет эти результаты.

    Current Model Summary pane with results for the medium tree

    В качестве альтернативы можно отсортировать модели на основе общего количества misclassification стоимость. В панели Models откройте список Sort by и выберите Total Cost (Validation).

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

Можно выполнить выбор признаков и преобразование или настроить модель, как вы делаете в рабочем процессе без затрат misclassification. Однако всегда проверяйте общее количество misclassification стоимость вашей модели при оценке ее эффективности. Для различий в экспортируемой модели и экспортируемом коде, когда вы будете использовать затраты misclassification, см. Затраты Misclassification в Экспортируемом Типовом кодексе и Сгенерированном коде.

Похожие темы