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

Vertex AI端点CatBoost预测报错:ValueError: Unable to coerce value

Vertex AI CatBoost回归模型预测ValueError问题解决

在Vertex AI部署CatBoost回归模型后,执行预测时触发ValueError: Unable to coerce value错误,相关代码及报错信息如下:

原预测代码

sample = [[2.0200e+03, 4.5000e+01, -2.6090e+01, -2.4440e+01, 3.8000e+01, 2.0201e+05]]

# get prediction
response = endpoint.predict(sample)
y_pred = response.predictions[0][0]

print('API response: ', response)
print('Predicted Value: ', y_pred)

报错信息

ValueError: Unable to coerce value: array([ 2.0200e+03,  4.5000e+01, -2.6090e+01, -2.4440e+01,  3.8000e+01,  2.0201e+05])

问题原因与解决方法

这个错误核心是输入格式不符合Vertex AI预测服务或CatBoost模型的要求,以下是针对性解决步骤:

  • 改用特征名映射的字典输入:Vertex AI的预测接口更适配带特征名的字典结构,尤其是CatBoost模型训练时若定义了特征名,必须保持一致。示例代码:
    # 替换为你训练时实际使用的特征名称
    sample = [
        {
            "feature_1": 2020.0,
            "feature_2": 45.0,
            "feature_3": -26.09,
            "feature_4": -24.44,
            "feature_5": 38.0,
            "feature_6": 202010.0
        }
    ]
    response = endpoint.predict(instances=sample)
    y_pred = response.predictions[0]
    
  • 统一数据类型:确保输入数据类型与训练集完全匹配,比如训练时用的是float64,输入就不要用科学计数法的数值,直接转换为普通浮点数或整数,避免类型解析异常。
  • 检查模型部署配置:确认部署时使用的容器支持CatBoost模型的输入解析,若用自定义容器,需确保代码能正确处理输入的JSON格式,将其转换为CatBoost可识别的特征数组。
  • 验证输入结构完整性:如果模型要求多实例输入,确保每个实例的特征数量、顺序(若用数组输入)与训练时一致,数组输入时需注意通过instances参数传递:
    response = endpoint.predict(instances=sample)
    

内容的提问来源于stack exchange,提问作者Nurlybek Amangeldiuly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 11:50:31