我在这里做错了什么?
from sklearn.linear_model import LogisticRegression as Lgr
Lgr().fit([[1,0,0], [1,0,1], [1,1,0], [1,1,1]], [0,0,0,1]).predict([[1,0,0], [1,0,1], [1,1,0], [1,1,1]])
这不会像预期的那样给出 [0,0,0,1]。给 [0,0,0,0]。predict_proba 返回所有输出 < 0.5。
原来正则化参数默认为导致欠拟合的值。所以我在构造函数中添加了 C=10(C 是反的,所以更高的值意味着更少的正则化)。我正在做的另一个更改是删除第一个特征变量,因为除非您在构造函数中传递“fit_intercept = False”,否则会自动添加偏差项。这是工作的 AND 函数:
from sklearn.linear_model import LogisticRegression as Lgr
print(LgR(C=10).fit([[0,0], [0,1], [1,0], [1,1]], [0,0,0,1]).predict([[0,0], [0,1], [1,0], [1,1]]))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句