You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ClickHouse中catboostEvaluate分类任务返回回归值,如何转为0或1?

解决ClickHouse中catboostEvaluate返回连续值而非分类标签的问题

这不是Bug,是ClickHouse的catboostEvaluate函数的默认行为特性:

  • 原生CatBoost的model.predict()方法默认返回分类标签(0/1),因为它默认使用prediction_type='Class'。
  • ClickHouse的catboostEvaluate默认返回原始预测值(比如二分类任务中的对数几率得分),对应prediction_type='RawFormulaVal',所以会得到连续数值。

解决方法

直接在调用catboostEvaluate时指定prediction_type参数为'Class',即可返回0/1的分类标签:

SELECT 
    catboostEvaluate('/root/occupy.bin', Temperature, Humidity, Light, CO2, HumidityRatio, 'Class') AS prediction 
FROM occupancy 
LIMIT 1

可选方案:手动阈值转换

如果需要自定义分类阈值,也可以基于原始得分手动判断:

SELECT 
    if(catboostEvaluate('/root/occupy.bin', Temperature, Humidity, Light, CO2, HumidityRatio) > 0, 1, 0) AS prediction 
FROM occupancy 
LIMIT 1

注:二分类任务中默认对数几率的阈值为0,若模型训练时调整过决策边界,需对应修改阈值

内容的提问来源于stack exchange,提问作者Zhang Hanwen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:04:59