2016-09-09 1 views
-1

Я хочу использовать метод выбора признаков, в котором для простой линейной регрессии рассматриваются «комбинации» функций или взаимодействия «между функциями».Множественный выбор функции SKlearn (scikit-learn) для регрессии

SelectKBest показывает только одну цель цели, по одному и оценивает их значениями Pearson's R. Хотя это быстро, но я боюсь, что он игнорирует некоторые важные взаимодействия между функциями.

Рекурсивная функция Устранение сначала использует ВСЕ мои функции, соответствует модели линейной регрессии, а затем выдает функцию с наименьшим коэффициентом абсолютного значения. Я не уверен, если это объясняет взаимодействие «между функциями» ... Я так не думаю, так как это просто выбивает наименьший коэффициент по одному, пока он не достигнет вашего определенного количества функций.

То, что я ищу, для тех, кто закалил ученых-спецификателей, там, где можно найти лучшее подмножество или комбинацию функций. Я прочитал всю документацию по выбору объектов и не могу найти метод, описывающий то, что я имею в виду.

Любые советы будут очень благодарны !!!!!!

+0

Сначала вы должны увидеть графики ковариации дисперсии. Это даст вам ощущение парной корреляции между вашими функциями. – ketan

ответ

0

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

В этом случае, вы можете рассмотреть возможность использования Lasso (или, на самом деле, в elastic net refinement). Лассо пытается минимизировать линейные наименьшие квадраты, но с абсолютными штрафами на коэффициенты. Некоторые результаты теории выпуклой оптимизации (в основном по двойственности) показывают, что это ограничение учитывает «между характерными» взаимодействиями и устраняет более низшие коррелированные функции. Поскольку известно, что у Лассо есть некоторые недостатки (он ограничен количеством функций, которые он может выбрать, например), более новым вариантом является эластичная сеть, которая наказывает как абсолютные значения, так и квадратные коэффициенты коэффициентов.

В sklearn sklearn.linear_model.ElasticNet реализует это. Обратите внимание: этот алгоритм требует, чтобы вы настраивали штрафы, которые вы обычно делаете, используя перекрестную проверку. К счастью, sklearn также содержит sklearn.linear_model.ElasticNetCV, что позволяет очень эффективно и удобно искать значения этих штрафных терминов.

Смежные вопросы