我希望你理解使用前面的解决方案作为初始化的概念,以适应warm_start=True
.
文档指出warm_start
参数对于liblinear求解器是无用的,因为对于特殊的线性情况没有有效的实现。另外,liblinear求解器是默认选择,LogisticRegression
这基本上意味着在每次新拟合之前权重将完全重新实例化。
要利用warm_start
参数并减少计算时间,您应该为您的 使用以下求解器之一LogisticRegression
:
- 支持 L2 范数惩罚的newton-cg或lbfgs 。它们通常也更好地处理多分类问题;
- sag或saga在更大的数据集上收敛速度比liblinear求解器更快,并且在下降过程中使用多项式损失。
简单的例子
from sklearn.linear_model import LogisticRegression
X = [[1, 2, 3], [4, 5, 6], [1, 2, 3]]
y = [1, 0, 1]
# warm_start would work fine before each new fit
clf = LogisticRegression(solver='sag', warm_start=True)
clf.fit(X, y)
我希望这会有所帮助。