是否在Statsmodels中实现了LASSO回归?

时间:2017-04-17 07:11:56

标签: python regression statsmodels lasso

我很乐意在statsmodels中使用线性LASSO回归,因此为了能够使用'公式'符号来编写模型,这可以在处理许多分类变量及其交互时节省相当多的编码时间。但是,它似乎尚未在统计模型中实现?

2 个答案:

答案 0 :(得分:10)

Lasso确实在statsmodels中实现。文档在下面的URL中给出:

http://www.statsmodels.org/dev/generated/statsmodels.regression.linear_model.OLS.fit_regularized.html

准确地说,statsmodel中的实现具有L1和L2正则化,其相对权重由L1_wt参数指示。您应该查看底部的公式,以确保您完全按照自己的意愿行事。

答案 1 :(得分:0)

可以使用Patsy with scikit-learn来获得与statsmodels中的公式表示法相同的结果。请参阅以下代码:

from patsy import dmatrices

# create dummy variables, and their interactions
y, X = dmatrices('outcome ~ C(var1)*C(var2)', df, return_type="dataframe")
# flatten y into a 1-D array so scikit-learn can understand it
y = np.ravel(y)

我现在可以使用scikit-learn中实现的任何模型,使用X作为自变量的常用符号,y作为依赖变量。