我正在为CatBoostClassifier绘制一条学习曲线。当我从黄砖中将CatBoostClassifier安装到LearningCurve中时,就会发生错误。我认为这应该是可行的,因为CatBoost是与sklearn兼容的,而黄色砖块是sklearn扩展。
代码片段:
kf = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=0)
sizes = np.linspace(0.2, 1.0, 10)
estimator = CatBoostClassifier(
    iterations=42, learning_rate=0.3, max_depth=10)
visualizer = LearningCurve(
    estimator, cv=kf, scoring='accuracy', train_sizes=sizes, n_jobs=-1
)
visualizer.fit(X, y)
visualizer.show()错误:
..。yellowbrick.exceptions.YellowbrickTypeError:无法检测非估计器的模型名称:'‘
有什么建议吗?
发布于 2021-05-14 16:39:52
您可以为第三方估计器( 更多细节 )使用包装器。我试过了而且成功了。就像这样:
from yellowbrick.classifier import ROCAUC
from yellowbrick.contrib.wrapper import wrap
catboost_model = CatBoostClassifier()
model = wrap(catboost_model)
visualizer = ROCAUC(model)
visualizer.fit(X_train, y_train)
visualizer.score(X_test, y_test)
visualizer.show()发布于 2020-08-03 21:52:22
我可以为XGBClassifier绘制一个学习曲线,我认为它也应该适用于CatBoostClassifier。不过,visualizer.show()不起作用。使用visualizer.poof()呈现绘图。
https://stackoverflow.com/questions/61966426
复制相似问题