【问题标题】:Plot Learning Curve of CatBoostClassifier with Yellowbrick用 Yellowbrick 绘制 CatBoostClassifier 的学习曲线
【发布时间】:2020-09-09 23:13:00
【问题描述】:

我正在尝试绘制 CatBoostClassifier 的学习曲线。 当我将 CatBoostClassifier 安装到 Yellowbrick 的 LearningCurve 中时,就会发生错误。 我认为这应该可行,因为 CatBoost 与 sklearn 兼容,而黄砖是 sklearn 扩展。

代码sn-p:

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:无法检测到非估计器的模型名称:''

有什么建议吗?

【问题讨论】:

    标签: python machine-learning catboost yellowbrick


    【解决方案1】:

    您可以将包装器用于第三方估算器more details。我试过了,它奏效了。像这样的:

    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()
    

    【讨论】:

      【解决方案2】:

      我可以绘制 XGBClassifier 的学习曲线,我认为它也应该适用于 CatBoostClassifier。 Visualizer.show() 虽然不起作用。使用 Visualizer.poof() 来渲染绘图。

      【讨论】:

        猜你喜欢
        • 2020-11-06
        • 2012-05-28
        • 1970-01-01
        • 2013-12-20
        • 1970-01-01
        • 2019-03-14
        • 2016-11-29
        • 2016-10-06
        • 1970-01-01
        相关资源
        最近更新 更多