具有约束的SGDClassifier

时间:2016-02-22 15:18:12

标签: python machine-learning scikit-learn

我正在尝试使用scikit-learn SGDClassifier对一个巨大的数据集进行逻辑回归(我准确地使用partial_fit)。我获得的系数具有不同的符号,而我想强制分类器只查找正值(我知道它可能不是方法方面的最佳方法,但它现在是可以的)。

我的问题是: 有没有办法使用SGDClassifier

对系数施加约束

感谢您的时间

1 个答案:

答案 0 :(得分:0)

目前的实施中SGDClassifier无法做到这一点。

如果你想实现这个,你必须添加一个惩罚,称之为例如'积极性',确保通过在负值上设置无限成本来验证此约束。

有可能使用例如this paper, Duchi 2009(但我认为新文献中的后续内容可能更适合这项工作)。你需要做的每一个小批量的东西都是投射到积极的orthant上。这可以通过简单地将逻辑损失中的梯度步骤之后发生的所有负值设置为0来完成。