【问题标题】:How to find the best threshold with Pycaret如何使用 Pycaret 找到最佳阈值
【发布时间】:2021-07-11 22:19:13
【问题描述】:

我正在使用 pycaret 库并从中创建了一个 Catboost 模型

该模型的 AUC 得分很高,但 Recall 和 F1 很差,这意味着 0.5 的正常阈值并不理想,但有一个阈值可以为这两个指标提供良好的分数。

有没有办法找到这个阈值?因为我正在尝试 Pycaret,所以我不太确定如何工作

【问题讨论】:

    标签: python machine-learning pycaret


    【解决方案1】:

    你是指哪个阈值?对于功能选择?您可以尝试多种调整,以便与上图中的基线相比改进模型。

    1. compare_models() - 或许还有其他算法,其性能优于 catboost
    2. 特征选择 - RFE 或随机森林(这里您可以使用 PyCaret 中的参数 feature_selection 并尝试使用阈值。Boruta 算法也应检查)。
    3. 特征工程
    4. 折叠=5
    5. 尝试多次拆分以进行训练/测试(80/20、70/30 等)
    6. 在 PyCaret 设置中应该仔细检查数字和分类特征。需要时需要更改格式。

    用比较试试

    【讨论】:

    • 如果我错了请纠正我,但是要获得模型的召回率,必须为实例的预测概率设置一个阈值,对吗?这样我们就可以标记类。 pycaret 是否自动使用 0.5 作为该阈值?如果我们的 AUC 很高,我们如何找到最佳阈值
    • 你可能错了。召回 = TruePositives / (TruePositives + FalseNegatives)。简单地说,你的模型很糟糕,需要改进。上周我也有类似的结果。也许特征选择将是第一步。
    猜你喜欢
    • 2012-06-11
    • 1970-01-01
    • 2018-08-25
    • 2022-10-13
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-29
    相关资源
    最近更新 更多