我正在使用 Apache Mahout 解决二进制分类问题。我使用的算法是 OnlineLogisticRegression 并且我目前拥有的模型强烈倾向于产生没有任何中间值的 1 或 0 预测。
请提出一种调整或调整算法的方法,以使其在预测中产生更多的中间值。
提前致谢!
我正在使用 Apache Mahout 解决二进制分类问题。我使用的算法是 OnlineLogisticRegression 并且我目前拥有的模型强烈倾向于产生没有任何中间值的 1 或 0 预测。
请提出一种调整或调整算法的方法,以使其在预测中产生更多的中间值。
提前致谢!
分类器的测试错误率是多少?如果它接近于零,那么自信是一个特征,而不是一个错误。
如果测试错误率很高(或至少不低),那么分类器可能会过度拟合训练集:测量训练错误和测试错误之间的差异。在这种情况下,像 rrenaud 建议的那样增加正则化可能会有所帮助。
如果您的分类器没有过度拟合,则概率校准可能存在问题。逻辑回归模型(例如使用 logit 链接函数)应该产生足够好的概率校准(如果问题近似线性可分并且标签不太嘈杂)。您可以按照本文中的说明使用绘图检查概率的校准。如果这确实是一个校准问题,那么实施基于 Platt 缩放或等渗回归的自定义校准可能有助于解决该问题。
通过阅读Mahout AbstractOnlineLogisticRegression文档,您似乎可以控制正则化参数 lambda。增加 lambda 应该意味着您的权重更接近于 0,因此您的预测更加对冲。