如何将Catboosts原始预测得分(RawFormulaVal)转换为概率?

时间:2018-12-02 14:24:38

标签: python machine-learning catboost

对于catboost库中的某些对象(例如python代码导出模型-https://tech.yandex.com/catboost/doc/dg/concepts/python-reference_catboostclassifier_save_model-docpage/),预测(https://tech.yandex.com/catboost/doc/dg/concepts/python-reference_apply_catboost_model-docpage/)仅会给出每条记录的原始分数(参数值称为“ RawFormulaVal”) 。 其他API函数还允许将预测结果作为目标类别(https://tech.yandex.com/catboost/doc/dg/concepts/python-reference_catboostclassifier_predict-docpage/)的概率-参数值称为“概率”。

我想知道

  1. 这与概率(在二进制分类的情况下)如何关联,
  2. 是否可以使用python API(https://tech.yandex.com/catboost/doc/dg/concepts/python-quickstart-docpage/)将其转换成这样的格式?

2 个答案:

答案 0 :(得分:1)

catboost预测函数中类型为“ RawFormulaVal”的原始得分为对数奇数(https://en.wikipedia.org/wiki/Logit)。 因此,如果我们应用函数“ exp(score)/(1+ exp(score))”,我们将获得概率,就好像我们将使用类型为“概率”的预测公式一样。

答案 1 :(得分:1)

代码行btn.addEventListener('keypress', function(e) {// Replace btn with your input. if (e.which == 13) { socket.emit('chat', { message: message.value, handle: handle.value }); } }); 将直接计算概率。

以下是用于理解的示例代码:

model.predict_proba(evaluation_dataset)