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 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 strFile = DirectoryScan(){

      
param

        
directory : "/tmp";

        
pattern : "newmodel.str";

        
ignoreExistingFilesAtStartup : true;

      
config placement : host(P1);

    
}



    stream
notifier =
com.ibm.spss.streams.analytics::SPSSPublish(strFile){

    
param

      
sourceFile: "newmodel.str";

      
targetPath: "/tmp";

    
config placement : host(P1);

  }



    stream
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进行实时评分和预测。数据分析师培训

SPSS与Streams的集成实现实时预测的更多相关文章

  1. Solr与MongoDB集成,实时增量索引

    Solr与MongoDB集成,实时增量索引 一. 概述 大量的数据存储在MongoDB上,需要快速搜索出目标内容,于是搭建Solr服务. 另外一点,用Solr索引数据后,可以把数据用在不同的项目当中, ...

  2. [Solr] (源) Solr与MongoDB集成,实时增量索引

    一. 概述 大量的数据存储在MongoDB上,需要快速搜索出目标内容,于是搭建Solr服务. 另外一点,用Solr索引数据后,可以把数据用在不同的项目当中,直接向Solr服务发送请求,返回xml.js ...

  3. Spring Boot 入门(十一):集成 WebSocket, 实时显示系统日志

    以前面的博客为基础,最近一篇为Spring Boot 入门(十):集成Redis哨兵模式,实现Mybatis二级缓存.本篇博客主要介绍了Spring Boot集成 Web Socket进行日志的推送, ...

  4. spark与kafka集成进行实时 nginx代理 这种sdk埋点 原生日志实时解析 处理

    日志格式202.108.16.254^A1546795482.600^A/cntv.gif?appId=3&areaId=8213&srcContId=2535575&area ...

  5. 矩池云 | 利用LSTM框架实时预测比特币价格

    温馨提示:本案例只作为学习研究用途,不构成投资建议. 比特币的价格数据是基于时间序列的,因此比特币的价格预测大多采用LSTM模型来实现. 长期短期记忆(LSTM)是一种特别适用于时间序列数据(或具有时 ...

  6. Spark集成Kafka实时流计算Java案例

    package com.test; import java.util.*; import org.apache.spark.SparkConf; import org.apache.spark.Tas ...

  7. Kafka ETL 之后,我们将如何定义新一代实时数据集成解决方案?

    上一个十年,以 Hadoop 为代表的大数据技术发展如火如荼,各种数据平台.数据湖.数据中台等产品和解决方案层出不穷,这些方案最常用的场景包括统一汇聚企业数据,并对这些离线数据进行分析洞察,来达到辅助 ...

  8. Kafka Streams | 流,实时处理和功能

    1.目标 在我们之前的Kafka教程中,我们讨论了Kafka中的ZooKeeper.今天,在这个Kafka Streams教程中,我们将学习Kafka中Streams的实际含义.此外,我们将看到Kaf ...

  9. SAP S4 Finance6个支持企业实时财务管理的主要创新领域

    本文将讲述下 SAP Simple Finance里面6个支持企业实时财务管理的主要创新领域. Simple Finance 在以下几个方面具有自己独特的优势: ● 更加简洁的用户体验,可以让用户在任 ...

随机推荐

  1. sql 递归显示所有父节点

    1.我先建两个表 一个表示项目及级别 另一个表示项目最后一级中包含内容.两个表的数据如图 CREATE TABLE [dbo].[yq_Project]( ,) primary key, ) NOT ...

  2. numpy基本函数

    在学习python的时候常常需要numpy这个库,每次都是用一个查一个,这个,终于见到一个完整的总结了http://blog.csdn.net/blog_empire/article/details/ ...

  3. 43个实例xHTML+CSS(DIV+CSS)网页及导航布局

    在中国,很多前端开发初学者都会把xHTML+CSS页面制作说成DIV+CSS,甚至很多人都还不知道xHTML+CSS是什么意思,只知道盲目的追求DIV+CSS,但在国外,是没有DIV+CSS这个概念的 ...

  4. Web介绍

    web概念概述 javaWeb: 使用java语言开发基于互联网的项目 软件架构: 1.C/S:Client/Server 客户端/服务器端 2.B/S:Browser/Server 浏览器/服务器端 ...

  5. VS环境下,DEV插件的ComboBoxEdit控件最简单的数据源绑定和获取方法

    使用 ComboBoxEdit 控件绑定key/value值: 因为 ComboBoxEdit 没有 DataSource 属性,所以不能直接绑定数据源,只能一项一项的添加. 首先创建一个类ListI ...

  6. LeetCode第三题—— Longest Substring Without Repeating Characters(最长无重复子字符串)

    题目描述 Given a string, find the length of the longest substring without repeating characters. Example ...

  7. redis笔记_源码_字典dict

    参考:https://redissrc.readthedocs.io/en/latest/datastruct/dict.html Expand: 条件: 新的table 大小: Rehash: 条件 ...

  8. leetcode-227-基本计算器②

    题目描述: 方法一:中缀转后缀 #!_*_coding:utf-8_*_ class Solution: def calculate(self, s: str) -> int: def in_t ...

  9. CSS——垂直居中

    vertical-align 垂直对齐 以前我们讲过让带有宽度的块级元素居中对齐,是margin: 0 auto; 以前我们还讲过让文字居中对齐,是 text-align: center; 但是我们从 ...

  10. http://wiki.ros.org/navigation/Tutorials/RobotSetup

    http://wiki.ros.org/navigation/Tutorials/RobotSetup