Предсказываем тренды. С Rattle и R в мир моделей классификации - страница 32



Для реализации идей данного раздела могут быть использованы следующие пакеты: caret, C50, DMwR, kernlab, pROC и rpart.

createDataPartition (caret)

стратифицированная случайная выборка;

coords (pROC)

оптимизирует чувствительность и специфичность на кривой ROC;

downSample (caret)
upSample (caret)

выравнивает классы;

ksvm (kernlab)

с параметром class. weights подгоняет модель SVM в режиме взвешивания.

10. Значимость предикторов для целевой переменной

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

Функции оценки значимости предикторов могут быть разделены на две группы: те, которые используют информацию о модели и те, которые не используют информацию о модели. Преимущество подхода, основанного на модели, состоит в том, что в этом случае подход связан с результативностью модели и что он, скорее всего, включает структуру корреляции между предикторами при вычислении значимости. Независимо от того, как вычислена значимость для большинства моделей классификации у каждого предиктора будет отдельная значимость предиктора для каждого класса (исключения – деревья классификации, бутстрэп агрегированные деревья и усиленные деревья).

10.1. Метрики значимости, полученной из моделей

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

В рамках R доступны следующие методы для оценки вклада каждого предиктора в модель:

– линейные модели: используется абсолютное значение t-статистики для каждого параметра модели;

– случайный лес: при подгонке модели вычисляется четыре меры значимости для каждого предиктора модели. В Rattle печатаются вычисленные значения значимостей, а также может быть построен график для визуального обзора;

– частные наименьшие квадраты (PLS): более полезный для нас аналог главных компонент (РСА). В PLS мера значимости предикторов основана на взвешенных суммах абсолютных коэффициентов регрессии. Веса являются функцией приведения сумм квадратов по числу компонентов PLS и вычисляются отдельно для каждого результата. Поэтому, вклад коэффициентов взвешивается пропорционально;

– рекурсивное разделение (пакет rpart): приведение функции потерь (например, среднеквадратической ошибки), приписанной к каждому предиктору в каждом разделении, сводится в таблицу. Кроме того, предикторы-кандидаты, которые также были важны, но не использовались в разделении, также сводятся в таблицу в каждом разделении. Эти сведения можно получить в функции rpart.control. Этот метод в настоящий момент не предоставляет достоверный результат при категориальной целевой переменной;

– бутстрэп агрегированные деревья (Bagged trees): для улучшенных деревьев применена методология, аналогичная отдельному дереву. Возвращается итоговая значимость предикторов;

– усиленные деревья (Boosted trees): этот метод использует подход, аналогичный отдельному дереву, но суммирует значимость предикторов при каждой усиливающей итерации. Подробности в пакете gbm;

– многомерные регрессии адаптивных сплайнов