我阅读了scikit-learn包的网页:
我可以使用逻辑回归来拟合数据,并且在获得LogisticRegression实例后,我可以用它来对新数据点进行分类。到目前为止,一切顺利。
但是,有没有办法设置LogisticRegression()实例的系数呢?因为在获得训练后的系数后,我希望使用相同的API来对新数据点进行分类。
或者,有人推荐其他Python机器学习包,具有更好的API吗?
谢谢
回答:
确实,estimator.coef_
和 estimator.intercept_
属性是只读的Python属性,而不是常规的Python属性。它们的数值来自于 estimator.raw_coef_
数组,该数组的内存布局直接映射到底层 liblinear
C++ 逻辑回归实现的预期内存布局,以便在调用 estimator.predict
或 estimator.predict_proba
时避免任何参数的内存复制。
我同意只读属性是一个限制,我们应该找到一种方法来摆脱这些属性,但如果我们重构这个实现,我们也应该注意不要引入任何不必要的内存复制,这在快速查看源代码后并不容易做到。
我已经在跟踪器上开了一个问题,以免忘记这个限制。
在此期间,您可以阅读带有 @property
注解的 estimator.coef_
方法,以了解 estimator.coef_
和 estimator.raw_coef_
之间的关系,并直接更改 estimator.raw_coef_
中的值。