- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做多类/多标签文本分类。我试图摆脱“ConvergenceWarning”。
当我调了 max_iter 从默认到 4000 ,警告消失。但是,我的模型精度从 降低了78 至 75 .
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
logreg = Pipeline([('vect', CountVectorizer()),
('tfidf', TfidfTransformer()),
('clf', LogisticRegression(n_jobs=1, C=1e5, solver='lbfgs',multi_class='ovr' ,random_state=0, class_weight='balanced' )),
])
logreg.fit(X_train, y_train)
y_pred = logreg.predict(X_test)
print('Logistic Regression Accuracy %s' % accuracy_score(y_pred, y_test))
cv_score = cross_val_score(logreg, train_tfidf, y_train, cv=10, scoring='accuracy')
print("CV Score : Mean : %.7g | Std : %.7g | Min : %.7g | Max : %.7g" % (np.mean(cv_score),np.std(cv_score),np.min(cv_score),np.max(cv_score)))
最佳答案
它缺少问题中使用的数据,因此无法重现问题,只能猜测。
要检查的一些事项:
1) 许多估算器如 LogisticRegression
喜欢(不是说需要)缩放数据。根据您的数据,您可能希望使用 MaxAbsScaler
进行扩展, MinMaxScaler
, StandardScaler
或 RobustAScaler
.最佳选择取决于您要解决的问题类型、稀疏性等数据属性、下游估计器是否欢迎负值等。缩放数据通常会加快收敛速度,甚至可能不需要增加 max_iter
.
2)根据我的经验,solver
不是 "liblinear"
需要更多 max_iter
给定相同输入数据的迭代收敛。
3) 我没有看到任何 'max_iter set in your code snippet. It currently defaults to
100`(sklearn 0.22)。
4)我看到你设置了正则化参数C=100000
.它大大减少了正则化,因为 C 是正则化强度的倒数。预计会消耗更多迭代,并可能导致模型过度拟合。
5) 没想到会更高max_iter
会让你降低准确度。求解器正在发散而不是收敛。数据可能未缩放或随机状态不固定或容差tol
(默认 1e-4)变为高。
6) 检查你 cross_val_score
交叉验证参数 cv
.如果我没有错,默认行为不会设置随机状态,从而导致可变平均准确度。
关于Python:逻辑回归 max_iter 参数降低了准确性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57085897/
我正在做多类/多标签文本分类。我试图摆脱“ConvergenceWarning”。 当我调了 max_iter 从默认到 4000 ,警告消失。但是,我的模型精度从 降低了78 至 75 . from
我想了解类 sklearn.cluster.KMeans 中的参数 max_iter . 根据文档: max_iter : int, default: 300 Maximum number of it
神经网络 (NN) epoch 与 scikit-learn 中的 max_iter 参数有什么区别或关系? 例如,如代码中所示,从 1 到 10000 评估 max_iter 的 NN 模型并评估每
我正在使用求解器 lbfgs 使用 MLPRegressor 训练模型。我已将 max_iter 参数从默认的 200 更改为 500。我想强制训练继续进行 500 次迭代,并且当损失没有改善至少 t
这是设置: test_observations : 6,767; train_observations: 73,268; train/test batch_size = 50; 我应该如何设置batc
我正在使用 Python 来预测值并收到许多警告,例如: Increase the number of iterations (max_iter) or scale the data asshown
我正在使用 Python 来预测值并收到许多警告,例如: Increase the number of iterations (max_iter) or scale the data asshown
我是一名优秀的程序员,十分优秀!