
SPSS与Streams的集成实现实时预测
SPSS Modeler 是一个数据挖掘工作台,提供了一个可了解数据并生成预测模型的最先进的环境。Streams 提供了一个可伸缩的高性能环境,对不断变化的数据进行实时分析,这些数据中包括传统结构的数据和半结构化到非结构化数据类型。
在实时处理需要高级分析时,使用Streams和SPSS集成,实现实时评分预测。实时应用预测分析的用例的示例包括网络安全、银行和信用卡欺诈检测、预测性维护,以及实时营销产品。
Streams + SPSS Analytics Toolkit 的特点
利用Streams实现高吞吐量、低延迟的评分
利用SPSS Modeler开发和建立评分模型
通过SPSSScoring Operator将模型部署到Streams
模型更新而无需暂停Streams
通过SPSS Collaboration and Deployment Services管理模型的生命周期
SPSS Analytics Toolkit for Streams
SPSSScoring operator
SPSSScoring operator实现在Streams应用中使用预定义的SPSS的预测模型进行评分预测,它假设预测模型已经在SPSS Moduler定义好并通过SPSS Solution Publisher导出这三个文件:
model.pim
model.par
model.xml
SPSSScoring 代码例子
stream<DataSchemaPlus> scorer = com.ibm.spss.streams.analytics::SPSSScoring(data) {parampimfile: getThisToolkitDir() +"/etc/PimParXml/model.pim"; parfile: getThisToolkitDir() +"/etc/PimParXml/model.par"; xmlfile: getThisToolkitDir() +"/etc/PimParXml/model.xml"; modelFields:"sex","income"; streamAttributes: s_sex, baseSalary+bonusSalary; output scorer: income = fromModel("income"), predLabel = fromModel("$C-beer_beans_pizza"), confidence = fromModel("$CC-beer_beans_pizza"); }
SPSSPublish operator
SPSSPublish operator 自动“发布”的一个模型文件的评分分支并总结所生成的文件,以便下游的Operator可以通过“分布”操作所创建或更新的PIM、PAR和XML文件,刷新他们的评分标准实施。通常情况下,SPSSPublish operator配合上游的DirectoryScan 或 SPSSRepository operator,及下游的SPSSScoring operator,即:
DirecoryScan/SPSSRepository -> SPSSPublish -> SPSSScoring
其中DirectoryScan 或 SPSSRepository operator检测到有新的模型文件可用,就将新模型的文件名发生个SPSSPublish operator。SPSSPublish的下游通常是SPSSSoring。当SPSSPublish获取到新模型,它就会生成SPSSSoring所需的PIM、PAR和XML文件,然后发生通知给SPSSSoring,通知也新的模型可用了。SPSSScoring收到通知后会刷新内部模型。
SPSSPublish代码例子:
stream<rstring strFilePath> strFile = DirectoryScan(){
param
directory : "/tmp";
pattern : "newmodel.str";
ignoreExistingFilesAtStartup : true;
config placement : host(P1);
}
stream<rstring fileName> notifier = com.ibm.spss.streams.analytics::SPSSPublish(strFile){
param
sourceFile: "newmodel.str";
targetPath: "/tmp";
config placement : host(P1);
}
stream<DataSchemaPlus> scorer = com.ibm.spss.streams.analytics::SPSSScoring(data;notifier) {
param
pimfile: getThisToolkitDir() +"/etc/PimParXml/model.pim";
parfile: getThisToolkitDir() +"/etc/PimParXml/model.par";
xmlfile: getThisToolkitDir() +"/etc/PimParXml/model.xml";
modelFields: "sex","income";
streamAttributes: s_sex, baseSalary+bonusSalary;
output
scorer:
income = fromModel("income"),
predLabel = fromModel("$C-beer_beans_pizza"),
confidence = fromModel("$CC-beer_beans_pizza");
config placement : host(P1);
}
SPSSRepository operator
SPSSRepository operator监视部署在SPSS Collaboration and Deployment Services库的对象的变化。当被监控的对象发生变化,相关通知则会发给所有的Listener。收到通知,SPSSRepostory会从Repostory下载该对象的新版本文件并将文件写到目标目录,这步操作成功之后,SPSSRepostory再提交描述文件已更新的事件给下游Operator。
Streams + SPSS 的参考架构
根据前面对SPSS Analytics Toolkit的功能描述,Streams + SPSS的参考架构可以由下图表示:
小结
本文通过对SPSS Analytics Toolkit和这些Toolkit与Streams集成参考架构的描述,为读者呈现了如何使用业界最好的数据挖掘工具SPSS和流数据分析平台Streams进行实时评分和预测。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA 数据分析师报考条件详解与准备指南 在数据驱动决策的时代浪潮下,CDA 数据分析师认证愈发受到瞩目,成为众多有志投身数 ...
2025-07-18刚入职场或是在职场正面临岗位替代、技能更新、人机协作等焦虑的打工人,想要找到一条破解职场焦虑和升职瓶颈的系统化学习提升 ...
2025-07-182025被称为“AI元年”,而AI,与数据密不可分。网易公司创始人丁磊在《AI思维:从数据中创造价值的炼金术 ...
2025-07-18CDA 数据分析师:数据时代的价值挖掘者 在大数据席卷全球的今天,数据已成为企业核心竞争力的重要组成部分。从海量数据中提取有 ...
2025-07-18SPSS 赋值后数据不显示?原因排查与解决指南 在 SPSS( Statistical Package for the Social Sciences)数据分析过程中,变量 ...
2025-07-18在 DBeaver 中利用 MySQL 实现表数据同步操作指南 在数据库管理工作中,将一张表的数据同步到另一张表是常见需求,这有助于 ...
2025-07-18数据分析师的技能图谱:从数据到价值的桥梁 在数据驱动决策的时代,数据分析师如同 “数据翻译官”,将冰冷的数字转化为清晰的 ...
2025-07-17Pandas 写入指定行数据:数据精细化管理的核心技能 在数据处理的日常工作中,我们常常需要面对这样的场景:在庞大的数据集里精 ...
2025-07-17解码 CDA:数据时代的通行证 在数字化浪潮席卷全球的今天,当企业决策者盯着屏幕上跳动的数据曲线寻找增长密码,当科研人员在 ...
2025-07-17CDA 精益业务数据分析:数据驱动业务增长的实战方法论 在企业数字化转型的浪潮中,“数据分析” 已从 “加分项” 成为 “必修课 ...
2025-07-16MySQL 中 ADD KEY 与 ADD INDEX 详解:用法、差异与优化实践 在 MySQL 数据库表结构设计中,索引是提升查询性能的核心手段。无论 ...
2025-07-16解析 MySQL Update 语句中 “query end” 状态:含义、成因与优化指南 在 MySQL 数据库的日常运维与开发中,开发者和 DBA 常会 ...
2025-07-16如何考取数据分析师证书:以 CDA 为例 在数字化浪潮席卷各行各业的当下,数据分析师已然成为企业挖掘数据价值、驱动决策的 ...
2025-07-15CDA 精益业务数据分析:驱动企业高效决策的核心引擎 在数字经济时代,企业面临着前所未有的数据洪流,如何从海量数据中提取有 ...
2025-07-15MySQL 无外键关联表的 JOIN 实战:数据整合的灵活之道 在 MySQL 数据库的日常操作中,我们经常会遇到需要整合多张表数据的场景 ...
2025-07-15Python Pandas:数据科学的瑞士军刀 在数据驱动的时代,面对海量、复杂的数据,如何高效地进行处理、分析和挖掘成为关键。 ...
2025-07-15用 SQL 生成逆向回滚 SQL:数据操作的 “后悔药” 指南 在数据库操作中,误删数据、错改字段或误执行批量更新等问题时有发生。 ...
2025-07-14t检验与Wilcoxon检验的选择:何时用t.test,何时用wilcox.test? t 检验与 Wilcoxon 检验的选择:何时用 t.test,何时用 wilcox. ...
2025-07-14AI 浪潮下的生存与进阶: CDA数据分析师—开启新时代职业生涯的钥匙(深度研究报告、发展指导白皮书) 发布机构:CDA数据科 ...
2025-07-13LSTM 模型输入长度选择技巧:提升序列建模效能的关键 在循环神经网络(RNN)家族中,长短期记忆网络(LSTM)凭借其解决长序列 ...
2025-07-11