使用sklearn.neural_network.MLPClassifier
拟合模型时,我有时会收到控制台中打印的警告:
收敛警告:随机优化器:已达到最大迭代次数(300),优化尚未收敛。
是否有一种方法可以在运行时检测到警告,以便我可以对它采取行动?
使用sklearn.neural_network.MLPClassifier
拟合模型时,我有时会收到控制台中打印的警告:
收敛警告:随机优化器:已达到最大迭代次数(300),优化尚未收敛。
是否有一种方法可以在运行时检测到警告,以便我可以对它采取行动?
3条答案
按热度按时间zf2sa74q1#
您可以使用
warnings.catch_warnings
实时捕获警告这个结构将捕捉任何警告,并允许你以你认为合适的方式响应它。在这种情况下,可能会修改一些超参数,使模型更容易收敛。
也可以使用
warnings.filterwarnings
忽略警告,并指定要忽略的警告类型。要忽略
ConvergenceWarning
:5q4ezhmt2#
拟合后检查
n_iter_
属性,如果小于配置的最大迭代次数(max_iter
),则收敛。0sgqnhkj3#
假设你想要训练scikit-learn模型,并且希望能够存储警告(如果有的话),那么你可以按照如下方式拟合模型:
第一个月
如果你想捕捉到这个警告,那么你可以运行这个模型:
最后,您可以通过迭代
caught_warnings
来获得警告,如下所示: