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

Python Vetiver部署模型如何配置使用score_samples替代predict方法

自定义Vetiver端点调用逻辑的实现方案

Vetiver默认调用模型.predict()方法的行为支持自定义覆盖,不需要修改框架源码,按以下步骤配置即可让端点调用.score_samples()返回异常分数:

  • 首先单独定义打分处理函数,函数必须固定接收model(训练完成的模型对象)、new_data(接口收到的待预测数据)两个入参,内部实现你需要的打分逻辑即可:
def get_anomaly_score(model, new_data):
    return model.score_samples(new_data)
  • 初始化Vetiver模型对象时,把上面写好的自定义函数传给predict_fn参数,替换框架默认的predict调用逻辑:
import vetiver

# iforest_model为你训练好的孤立森林模型对象
vetiver_model = vetiver.VetiverModel(
    model=iforest_model,
    model_name="isolation_forest_anomaly_detector",
    predict_fn=get_anomaly_score
)
  • 后续按常规流程部署端点即可,部署完成后接口收到请求时,会自动执行.score_samples()方法,返回0到1区间的异常分数,不再输出1/-1的分类结果。

补充:如果需要接口同时返回分类标签和异常分数,直接在自定义的predict_fn里把两类结果组装成pandas DataFrame或者字典格式返回即可,框架会自动将结构化结果序列化为标准JSON响应,不需要额外修改接口配置。

内容的提问来源于stack exchange,提问作者David Smith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 00:18:23