首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python模型-使用替代预测方法

Python模型-使用替代预测方法
EN

Stack Overflow用户
提问于 2022-06-15 12:41:13
回答 1查看 68关注 0票数 1

我试图使用香根草将隔离林模型(用于异常检测)部署到API端点。

通过调整示例这里,一切都进展顺利。

但是,在部署时,端点默认使用model.predict()方法(正常返回1,异常返回-1 )。

我希望模型返回model.score_samples()方法给出的0到1之间的分数。

有人知道我如何配置Vetiver端点,使其使用.score_samples()而不是.predict()来得分吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-07-08 15:01:42

vetiver.predict()主要充当API端点的路由器,因此它不必具有与model.predict()相同的行为。您可以通过vetiver.predict()重载定义自定义处理程序在您的模型上使用的函数。

在您的示例中,实现可能如下所示。

代码语言:javascript
复制
from vetiver.handlers.base import VetiverHandler

class ScoreSamplesHandler(VetiverHandler):
    def __init__(self, model, ptype_data):
        super().__init__(model, ptype_data)

    def handler_predict(self, input_data, check_ptype):
        """
        Define how to make predictions from your model
        """
        prediction = self.model.score_samples(input_data)
        
        return prediction

初始化自定义处理程序并将其传递到VetiverModel()

代码语言:javascript
复制
custom_model = ScoreSamplesHandler(model, ptype_data)

VetiverModel(custom_model, "model_name")

然后,当使用vetiver.predict()函数时,它将返回model.score_samples()的值,而不是model.predict()的值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72631606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档