2017-05-06 132 views
-2

我目前在数据科学课程中,我的一个项目正在创建一个模型来预测员工流失。statsmodels中的低R2和scikit中的高精度/精度

我有一个模拟数据集,我正在使用,我已经设置了我的X和Y's。

我跑了4个模型。第一个是在statsmodels进行逻辑回归。那个输出是0.142的伪Rsquared,非常低。

但是,我在scikit中学习的接下来的3个模型(逻辑回归,k最近邻居和决策树)。在这些模型中,我将X和Y分解为训练和测试集。对于每个人,我都运行准确度和精确度分数,他们都高于75%。另外,我在每个模型上都进行了交叉验证评分,每个评分仍高于75%。

我的问题是,我可以在scikit学习模型上获得高分,并且statsmodel上运行的R2很低?

这种情况会发生吗?如果是这样,怎么解释?谢谢!

+0

欢迎来到SO。请阅读这个[how-to-ask](http://stackoverflow.com/help/how-to-ask)来改进您的问题,并提供足够的具体信息,例如试图解决问题和错误消息的代码等 – thewaywewere

+0

也许,我误解了你,但是R2是ERROR的度量,所以,当错误率低时,得分相应较高。似乎一切都好了 –

+0

这是非常不清楚的。你正在解决的问题是回归还是分类?你说你测量了'R2',那么它似乎回归了。但是你说你计算准确度和精度?准确性和精确度用于分类,而不是回归。你可以发布代码库和一些数据。 –

回答

0

部分答案,因为我从来没有在任何例子中比较它们。

(这看起来更像是一个统计,而不是一个编程问题stats.stackexchange?)。

从本质上讲,这两种度量都有些但并不直接相关,statsmodels中使用的定义中的伪rsquare将完整模型的对数似然与只有常数的模型的对数似然比较。该度量是在对数似然比的范围内,并且与仅有常数的参考模型相比,其显示出相对改进。

准确度和准确度直接测量预测性能,它使用不同的比例尺,并且是不与参考模型比较的绝对测量值。例如,您可以检查预测性措施相比仅有常数的模型有多少改进。

具体措施的另一个区别是准确性和准确性使用阈值和离散化预测。相反,对数似然性基于概率。
例如,如果阈值为0.5。那么在两种情况下,观察概率为0.500001或0.49999都是正确的预测,但概率远离1和0.