根据reg分数为回归模型选择最佳变量组合

时间:2018-01-03 05:38:20

标签: python machine-learning regression

老忠实社区你好,

这可能是一个,因为我几乎找不到任何材料。

问题 我有理事会在澳大利亚新南威尔士州犯下的犯罪数据集,并将其与理事会的平均房价合并。我现在正在制作一个线性回归,试图通过附近的犯罪来预测房价。问题是,我有49个罪行,只想在我的模型中使用最好的(统计学上讲)。

我对所有变量和一些变量(使用相关性)运行回归分数,结果来自.23 - .38,但我想尽可能地完善这一点 - 如果有办法做到这一点当然

我已经考虑过对所有可能的组合进行循环,但根据谷歌,这最终会导致数百万。

所以,我的朋友们 - 我怎么能python这个数据帧来获得最好的列?

2 个答案:

答案 0 :(得分:2)

如果我可以添加,您可能需要查看Python包mlxtendhttp://rasbt.github.io/mlxtend

这是一个包含多个前向/后向逐步回归算法的软件包,同时仍然使用sklearn的回归量/选择器。

答案 1 :(得分:0)

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

其他方法的统计有效性较低'将定义模型评估度量(例如,r平方,均方误差等)并使用诸如LASSO,随机森林,遗传算法等的变量选择方法来识别优化所选度量的变量集。我发现在实践中,在投票类型方案中加入这些技术效果最好,因为不同的技术对某些类型的数据更有效。从sklearn查看下面的链接,看看您可以使用数据快速编码的一些选项:

如果你愿意,我会尝试一些技巧,看看答案是否收敛到同一组功能 - 这将让你对变量之间的关系有所了解。