老忠实社区你好,
这可能是一个,因为我几乎找不到任何材料。
问题 我有理事会在澳大利亚新南威尔士州犯下的犯罪数据集,并将其与理事会的平均房价合并。我现在正在制作一个线性回归,试图通过附近的犯罪来预测房价。问题是,我有49个罪行,只想在我的模型中使用最好的(统计学上讲)。
我对所有变量和一些变量(使用相关性)运行回归分数,结果来自.23 - .38,但我想尽可能地完善这一点 - 如果有办法做到这一点当然
我已经考虑过对所有可能的组合进行循环,但根据谷歌,这最终会导致数百万。
所以,我的朋友们 - 我怎么能python这个数据帧来获得最好的列?
答案 0 :(得分:2)
如果我可以添加,您可能需要查看Python包mlxtend
,http://rasbt.github.io/mlxtend。
这是一个包含多个前向/后向逐步回归算法的软件包,同时仍然使用sklearn
的回归量/选择器。
答案 1 :(得分:0)
解决这个问题没有黄金标准你是对的,选择每个组合在大多数情况下计算不可行 - 特别是49个变量。一种方法是通过基于用户指定的p值标准添加/删除变量来实现前向或后向选择(这是您提到的统计相关标准)。对于使用statsmodels的python实现,请查看以下链接:
其他方法的统计有效性较低'将定义模型评估度量(例如,r平方,均方误差等)并使用诸如LASSO,随机森林,遗传算法等的变量选择方法来识别优化所选度量的变量集。我发现在实践中,在投票类型方案中加入这些技术效果最好,因为不同的技术对某些类型的数据更有效。从sklearn查看下面的链接,看看您可以使用数据快速编码的一些选项:
如果你愿意,我会尝试一些技巧,看看答案是否收敛到同一组功能 - 这将让你对变量之间的关系有所了解。