如何以编程方式检测Scikitlearn警告

2024-05-16 06:17:59 发布

您现在位置:Python中文网/ 问答频道 /正文

使用^{}装配模型时,我有时会收到控制台中打印的警告:

ConvergenceWarning: Stochastic Optimizer: Maximum iterations (300) reached and the optimization hasn't converged yet.

有没有一种方法可以在运行时检测到警告,以便我对它采取行动?在


Tags: andthe方法模型警告optimizeryetoptimization
2条回答

拟合后检查n_iter_属性。如果它小于您配置的最大迭代次数(max_iter),那么它会收敛。在

您可以使用^{}实时捕获警告

import warnings

with warnings.catch_warnings()
    warnings.filterwarnings('error')
    try:
        model.fit(X, y)
    except Warning:
        # do something in response

这个结构将捕捉到行中的任何警告,并允许您以您认为合适的方式响应它。在这种情况下,可能会修改一些超参数,使模型更容易收敛。在

也可以用^{}忽略警告,并指定要忽略的警告类型。在

忽略ConvergenceWarning

^{pr2}$

相关问题 更多 >