asm*_*mgx 3 python scikit-learn
我正在使用 Python 来预测值并收到许多警告,例如:
增加迭代次数 (max_iter) 或缩放数据,如下所示:https : //scikit-learn.org/stable/modules/preprocessing.html另请参阅替代求解器选项的文档: https://scikit- learn.org/stable/modules/linear_model.html#logistic-regression n_iter_i = _check_optimize_result( C:\Users\ASMGX\anaconda3\lib\site-packages\sklearn\linear_model_logistic.py:762: ConvergenceWarning: lbfgs 未能收敛 (状态=1): 停止:迭代总数达到限制。
这使我无法看到自己打印的结果。
有什么办法可以阻止显示这些警告吗?
您可以使用warnings-module 暂时抑制警告。所有警告或特定警告。
在这种情况下,scikit-learn 会引发一个ConvergenceWarning警告,因此我建议完全抑制此类警告。该警告类位于sklearn.exceptions.ConvergenceWarning所以预先导入它并使用上下文管理器catch_warnings和函数simplefilter来忽略警告,即不将其打印到屏幕上:
import warnings
from sklearn.exceptions import ConvergenceWarning
with warnings.catch_warnings():
warnings.simplefilter("ignore", category=ConvergenceWarning)
optimizer_function_that_creates_warning()
Run Code Online (Sandbox Code Playgroud)
您还可以全局忽略该特定警告,以避免使用上下文管理器:
import warnings
warnings.simplefilter("ignore", category=ConvergenceWarning)
optimizer_function_that_creates_warning()
Run Code Online (Sandbox Code Playgroud)
我建议使用上下文管理器,因为您确定在哪里抑制警告。这样您就不会抑制来自意外地方的警告。