您正在查看版本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它被提供给计分流程的第一个输出端口。
{“数据”:[{“年龄”:“21”、“性别”:“男性”、“payment_method”:“信用卡”、“预测(欺诈):“欺诈”、“信心(欺诈)”: 0.721,},{“年龄”:“42”,“性别”:“女性”、“payment_method”:“支票”,“预测(欺诈):“无欺诈”、“信心(欺诈)”: 0.9921,}]}
参数化的请求
Web服务请求可以通过查询参数进行参数化,以防计分流程通过RapidMiner进程的上下文声明宏。
在给定的示例中,在Retrieve model操作符中声明并使用宏模型来动态加载模型。
每个上下文宏都可以在评分请求期间通过同名的查询参数进行设置。例如,设置模型宏
可以通过以下请求URL:
http:// SA_HOST /服务/ folderName美元/ $ processName ? = DecisionTree模型