【发布时间】:2022-05-02 16:31:48
【问题描述】:
我已经使用 Catboost 分类器构建了一个机器学习模型来预测我的结果的类别名称,如下面的截图 1。但是,如果我得到一个未知的输入或任何没有训练模型的输入,那么我需要将其返回为 null。
我的想法是根据以下 scrrenshot2(预期输出)的置信概率得分。对于已知输入,该模型的概率得分较高,而对于任何未知的未知输入,该模型的置信度得分较低。
如何实现这一点并将概率列添加到我的预测结果中,如下面的屏幕截图2(预期输出)?
我正在使用的代码
pred = pipe_model_.predict(df_unseen)
predict_proba = pipe_model_.predict_proba(df_unseen)
# Get predicted RawFormulaVal
preds_raw = pipe_model_.predict(df_unseen,
prediction_type='RawFormulaVal')
样本输入训练数据帧(屏幕截图 1)
预期的预测输出如下(屏幕截图 2),黄色突出显示的是模型以前从未见过或训练过的输出,因此概率很低,我可以根据我的要求编写一个 if 条件来省略它
【问题讨论】:
-
我可能有一个解决方案,但您能否先分享一个数据集样本?
标签: python machine-learning probability catboost