类别

版本

您正在查看版本9.4 -的RapidMiner评分代理文档查看最新版本

分数数据

安装部署在评分代理上,您可以使用公开的web服务对数据进行评分。

Web服务url

如上一节所述如何创建部署,部署的每个顶级流程都可以作为web服务在Scoring Agent上使用。通用URL定义为

http:// SA_HOST /服务/ folderName美元/ processName美元

在哪里

  • SA_HOST美元是评分代理的主机名(例如。localhost: 8090
  • folderName美元是部署在RapidMiner服务器上的根文件夹(例如。score-fraud
  • processName美元顶级流程的名称(例如。score-v1

在我们的例子中,我们的评分web服务的URL看起来像这样:

http://localhost:8090/services/score-fraud/score-v1

Web服务输入

每个web服务端点接受帖子使用任何一种请求application / json文本/平原内容类型。

如果可能的话,我们建议使用JSON输入,因为它的性能比文本/纯输入要好。

JSON输入

JSON输入将自动转换为ExampleSet它将提供给流程的第一个输入端口。可以提交一行数据,也可以提交多行数据。对于单行数据,JSON输入格式如下所示:

{“数据”({:“年龄”:“21”、“性别”:“男性”、“payment_method”:“信用卡”}]}

下面是一个示例流程,它将读取输入,应用模型,并在输出端口上返回结果:

您可以使用任何HTTP命令行工具发出HTTP POST得分请求。例如,这里旋度是用来做一个分数请求,JSON输入:

curl -H "Content-Type: application/json" -X POST -d '{"data":[{"age":"21", "gender":"male", "payment_method":"credit card"}]}' http://$SA_HOST/services/$folderName/$processName

或者,您可以使用RapidMiner提供的Python包从Python调用已部署的评分服务:

Import pandas as pd Import rapidminer df = pd。DataFrame({“年龄”:[21],“性别”:“男性”,“payment_method”:[“信用卡”]})sc = rapidminer。评分("http://$SA_HOST", "$folderName/$processName")预测= sc.predict(df)

阅读更多:RapidMiner和Python

文本输入

文本输入将作为FileObject到流程的第一个输入端口。

“年龄”,“性别”,“付款方式”21,“男性”,“信用卡”43,“女性”,“支票”

方法读取数据的示例流程读CSV运算符,应用一个模型,并在输出端口上返回结果:

Web服务输出

的JSON表示形式ExampleSet它被提供给计分流程的第一个输出端口。

下面是一个来自web服务的JSON输出示例:

{“数据”:[{“年龄”:“21”、“性别”:“男性”、“payment_method”:“信用卡”、“预测(欺诈):“欺诈”、“信心(欺诈)”: 0.721,},{“年龄”:“42”,“性别”:“女性”、“payment_method”:“支票”,“预测(欺诈):“无欺诈”、“信心(欺诈)”: 0.9921,}]}

参数化的请求

Web服务请求可以通过查询参数进行参数化,以防计分流程通过RapidMiner进程的上下文声明宏。

在给定的示例中,在Retrieve model操作符中声明并使用宏模型来动态加载模型。

每个上下文宏都可以在评分请求期间通过同名的查询参数进行设置。例如,设置模型可以通过以下请求URL:

http:// SA_HOST /服务/ folderName美元/ $ processName ? = DecisionTree模型