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



11.6. Инструменты R для выбора предикторов

11.6.1. Пакет Boruta

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

Устанавливаются пороги, ниже которых предикторы отбрасываются. В результате по каждому предиктору получаем фактор со значениями Confirmed, Rejected или Tentative. Отвергнутые предикторы помечаются.

Устанавливаются параметры типа классификации. По умолчанию – случайный лес из пакета randomForest. В результате выдается индекс Gini.

11.6.2. Пакет varSelRF

Пакет для выбора предикторов в случайном лесе для объекта randomforest.

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

11.6.3. Пакет FSelector

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

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

– встроенные подходы к выбору предикторов выполняются при выполнении алгоритма классификации.

– подход с оберткой алгоритма для классификации применяется к набору данных для идентификации лучших предикторов.

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

11.6.4. Пакет «CORElearn»

Пакет «CORElearn» имеет большое число критериев упорядочения предикторов по их важности. Особое место занимают критерии, которые основаны на Relief, что позволяет оценивать предикторы, имеющие корреляцию между собой. Учет этой корреляции позволяет строить модели случайного леса, дающие устойчивые характеристики вне выборки.

11.7. Функции R

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

Приведено название функции, а в скобках название пакета, в котором функция расположена. Для использования функция необходима загрузка пакета, а если его еще нет, то и установка.

Если названия пакета не приведено – это означает, что функция имеется в базовом пакете и не требуется предварительная загрузка пакета.

Для реализации идей данного раздела могут быть использованы следующие пакеты: caret,klaR, leaps, MASS, pROC, rms и stats.

11.7.1. Выбор вперед, назад и пошаговый

Есть несколько функций R для этого класса:

– может использоваться