TypeError: sklearn ignore_warnings expects class or tuple of classes
TypeError: sklearn ignore_warnings expects class or tuple of classes
我试图粗略地忽略几个模型的良好参数,包括带有 RandomizedSearchCV 的 LogisticRegression。由于某些参数组合不兼容,我得到 sklearn FitFailedWarning 即 Solver newton-cg supports only 'l2' or 'none' penalties, got l1 penalty
.
我只想忽略那些特定的警告,我发现这样做的解决方案是使用:
from sklearn.exceptions import FitFailedWarning
from sklearn.utils._testing import ignore_warnings
with ignore_warnings(category=[FitFailedWarning]):
grid.fit(x_train, y_train)
我的问题是,虽然这对大多数网格模型(knn、决策树等)都正常工作,但它对 LogisticRegression 网格失败并出现错误:
TypeError: issubclass() arg 2 must be a class or tuple of classes
在没有 ignore_warnings 的情况下进行拟合
lr_grid.fit(x_train, y_train)
是否有另一种正确的方法来使 RandomizedSearchCV 的 FitFailedWarning 与 LogisticRegression 静音?
您可以将默认参数值 Warning
保留为上下文管理器中的参数 category
ignore_warnings
这将使所有类别警告静音。
with ignore_warnings():
grid.fit(x_train, y_train)
或传递一组警告。该错误是因为您正在传递一个列表,它需要一个警告 class 或一个带有警告 classes.
的元组
with ignore_warnings(category=(FitFailedWarning, UserWarning)):
search = grid.fit(X_train, y_train)
我试图粗略地忽略几个模型的良好参数,包括带有 RandomizedSearchCV 的 LogisticRegression。由于某些参数组合不兼容,我得到 sklearn FitFailedWarning 即 Solver newton-cg supports only 'l2' or 'none' penalties, got l1 penalty
.
我只想忽略那些特定的警告,我发现这样做的解决方案是使用:
from sklearn.exceptions import FitFailedWarning
from sklearn.utils._testing import ignore_warnings
with ignore_warnings(category=[FitFailedWarning]):
grid.fit(x_train, y_train)
我的问题是,虽然这对大多数网格模型(knn、决策树等)都正常工作,但它对 LogisticRegression 网格失败并出现错误:
TypeError: issubclass() arg 2 must be a class or tuple of classes
在没有 ignore_warnings 的情况下进行拟合
lr_grid.fit(x_train, y_train)
是否有另一种正确的方法来使 RandomizedSearchCV 的 FitFailedWarning 与 LogisticRegression 静音?
您可以将默认参数值 Warning
保留为上下文管理器中的参数 category
ignore_warnings
这将使所有类别警告静音。
with ignore_warnings():
grid.fit(x_train, y_train)
或传递一组警告。该错误是因为您正在传递一个列表,它需要一个警告 class 或一个带有警告 classes.
的元组with ignore_warnings(category=(FitFailedWarning, UserWarning)):
search = grid.fit(X_train, y_train)