2014-10-16 3 views
4

У меня есть базовая линейная регрессия с 80 численными переменными (без переменных классификации). Учебный комплект имеет 1600 рядов, тестирование 700.Выбор переменной регрессии Python

Мне нужен пакет python, который выполняет итерации по всем комбинациям столбцов, чтобы найти лучшую пользовательскую функцию оценки или функцию оценки из азартной игры, такую ​​как AIC. ИЛИ Если это не существует, что люди здесь используют для выбора переменных? Я знаю, что у R есть такие пакеты, как это, но не хочу иметь дело с Rpy2

У меня нет предпочтения, если LM требует изучения scikit, numpy, pandas, statsmodels или другого.

+0

http://scikit-learn.org/stable/modules/feature_selection.html? –

ответ

3

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

http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html

Я часто пишу код, чтобы сделать линейную регрессию с statsmodels как ниже,

import statsmodels.api as sm 

model = sm.OLS() 
results = model.fit(train_X,train_Y) 

Если я хочу сделать Lasso регрессии, я пишу код, как показано ниже,

from sklearn import linear_model 

model = linear_model.Lasso(alpha=1.0(default)) 
results = model.fit(train_X,train_Y) 

Вы должны выбрать подходящую альфа от 0.0 до 1.0. Параметр определяется тем, как вы не принимаете ошибку.

Попробуйте это.

+2

Это может теоретически ответить на вопрос, но было бы лучше включить основные части ответа здесь для будущих пользователей и предоставить ссылку для справки. [Ответы, связанные с каналом] (// meta.stackexchange.com/questions/8231) могут стать недействительными через [link rot] (// en.wikipedia.org/wiki/Link_rot). – Mogsdad