我正在使用Apache Mahout处理一个二元分类问题。我使用的算法是OnlineLogisticRegression,当前的模型强烈倾向于产生预测值为1或0,而没有中间值。
请建议如何调整或修改算法,使其在预测中产生更多的中间值。
提前感谢!
回答:
分类器的测试错误率是多少?如果接近零,那么这种自信是一种特性,而不是缺陷。
如果测试错误率高(或者至少不低),那么分类器可能在训练集上过拟合:测量训练错误和测试错误之间的差异。在这种情况下,增加正则化如rrenaud建议的可能会有所帮助。
如果你的分类器没有过拟合,那么可能存在概率校准问题。Logistic回归模型(例如使用logit链接函数)应该能提供足够好的概率校准(如果问题大致是线性可分的且标签噪声不大)。你可以按照这篇论文中解释的绘制图表来检查概率的校准。如果这真的是一个校准问题,那么实现基于Platt缩放或等距回归的自定义校准可能会帮助解决这个问题。