当我在训练数据集上训练模型时,我得到低于错误。任何人都可以帮忙
在训练数据集上训练模型
logreg = LogisticRegression()
logreg.fit(x_train,y_train)
logreg =LogisticRegression (solver='lbfgs', max_iter=9000)
产生:
/Users/aswanthmanne/opt/anaconda3/lib/python3.8/site-packages/sklearn/linear_model/_logistic.py:763: ConvergenceWarning: lbfgs failed to converge (status=1):
STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.
Increase the number of iterations (max_iter) or scale the data as shown in:
https://scikit-learn.org/stable/modules/preprocessing.html
Please also refer to the documentation for alternative solver options:
https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression
n_iter_i = _check_optimize_result(
答案 0 :(得分:0)
尽管该问题缺乏信息,但这里有一些提示可以使其发挥作用:
from sklearn.selection import train_test_split
from sklearn.datasets import load_iris
iris = load_iris()
x_train, x_test, y_train, y_test = train_test_split(iris.iloc[:, :4], iris.target)
目标没有标准化,以前的代码也可以解决这个问题。
还有求解器的问题,我不认为这可能是原因,但值得讨论。以下是sklearn逻辑回归solver的文档:
solver{‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, ‘saga’}, default='lbfgs' 用于优化问题的算法。
对于小数据集,‘liblinear’是一个不错的选择,而‘sag’和 'saga' 对大的来说更快。
对于多类问题,只有“newton-cg”、“sag”、“saga”和“lbfgs” 处理多项式损失; “liblinear”仅限于一对一休息 方案。
'newton-cg'、'lbfgs'、'sag' 和 'saga' 处理 L2 或无惩罚
‘liblinear’ 和 ‘saga’ 也处理 L1 惩罚
‘saga’也支持‘elasticnet’惩罚
‘liblinear’ 不支持设置惩罚='none'
注意‘sag’和‘saga’快速收敛仅在 具有大致相同比例的特征。你可以预处理 数据与来自 sklearn.preprocessing 的缩放器。