У меня есть набор данных с около 2000 двоичных переменных / 200 000 строк, и я пытаюсь предсказать одну двоичную зависимую переменную. Моя главная цель на данном этапе - не получить точность прогноза, а скорее определить, какие из этих переменных являются важными предикторами. Я хотел бы уменьшить количество переменных в моей окончательной модели до примерно 100.
Есть ли относительно быстрый способ получения наиболее важных переменных? randomForest, кажется, занимает много времени.
Мне не нужно использовать все 200 000 наблюдений, поэтому выборка - это вариант на столе.
Ответы:
Вы можете начать с простого фильтра Univariate и использовать перекрестную проверку, чтобы решить, какие переменные оставить.
sbf
Функция вcaret
пакете для R является действительно полезной. Вы можете прочитать больше об этом здесь , начиная со страницы 19.источник
Это звучит как подходящая проблема для лассо и друзей, которые делают усадку и выбор переменных. Элементы статистического обучения описывают лассо и эластичную сеть для регрессии и, что более важно для этой проблемы, логистическую регрессию.
Авторы книги сделали эффективную реализацию лассо и эластичной сетки доступной в виде R-пакета под названием glmnet . Ранее я использовал этот пакет для анализа двоичных данных с матрицами данных приблизительно из 250 000 строк, хотя несколько меньше столбцов, но фактически выполнял регрессии всех столбцов относительно всех других столбцов. Если матрица данных также является разреженной, реализация также может воспользоваться этим, и я полагаю, что метод может действительно работать для полного набора данных OPs. Вот несколько комментариев о лассо:
Для Python в scikit-learn есть реализация таких методов, как лассо и эластичная сеть.
источник
glmnet
в R). Другой вариант - Thresholding the Lasso, который также довольно прост в реализации. См. Раздел 2.9 сайта springer.com/gp/book/9783642201912 .Вы можете сделать логистическую регрессию / критерий хи-квадрат для каждой переменной и сохранить только те, у которых значение p меньше некоторого значения, скажем .2.
источник