基于reg score为回归模型选择最佳变量组合

Jak*_*rne 5 python regression machine-learning

你好老忠实社区,

这可能是一个想法,因为我几乎找不到任何关于此的材料。

问题 我有一个议会在澳大利亚新南威尔士州犯下的犯罪数据集,并将其与议会的平均房价合并。我现在正在寻找产生线性回归来尝试通过附近的犯罪来预测所述房价。问题是,我有 49 个犯罪,并且只希望在我的模型中使用最好的(从统计上讲)。

我已经对所有变量和一些变量(使用相关性)运行了回归分数,并得到了 0.23 - .38 的结果,但我想尽可能地完善它——当然,如果有办法做到这一点。

我曾考虑过遍历所有可能的组合,但根据谷歌的说法,这最终会增加几百万。

所以,我的朋友们 - 我怎样才能用 python 这个数据框来获得最好的列?

131*_*13e 5

如果我可以补充一下,您可能想看看 Python 包mlxtendhttp://rasbt.github.io/mlxtend

它是一个具有多种前向/后向逐步回归算法的包,同时仍然使用sklearn.


Rob*_*ich 2

解决这个问题没有黄金标准,你是对的,选择每种组合在大多数情况下在计算上是不可行的——尤其是在有 49 个变量的情况下。一种方法是根据用户指定的 p 值标准(这是您提到的统计相关标准)添加/删除变量来实现向前或向后选择。对于使用 statsmodels 的 python 实现,请查看以下链接:

其他不太“统计有效”的方法是定义模型评估指标(例如,r 平方、均方误差等)并使用变量选择方法(例如 LASSO、随机森林、遗传算法等)来识别集合优化选择指标的变量。我发现在实践中,将这些技术集成到投票类型方案中效果最好,因为不同的技术对于某些类型的数据效果更好。查看 sklearn 中的以下链接,了解一些可以使用数据快速编码的选项:

如果您愿意,我会尝试一些技术,看看答案是否收敛到同一组特征——这将使您深入了解变量之间的关系。