用 SPL 做数据挖掘建模预测

SPL 在易明建模的配合下可以提供的是全自动化的建模预测。使用方法主要包含以下步骤:

一、配置易明建模

1. 下载安装易明建模软件

下载地址:http://www.raqsoft.com.cn/download/download-ymodel

安装建模软件,并记录安装目录,比如:C:\Program Files\raqsoft\ymodel

2. 在 SPL 中配置外部库

(1)复制外部库所需要的文件

在易明建模的安装路径下找到下列 jar 包,复制到外部库路径比如“C:\Program Files\raqsoft\esProc\extlib\Ym2Cli”

..

(2)SPL 环境配置

a. 配置外部库

打开 SPL,在选项菜单里,配置外部库路径,勾选易明建模外部库。

..

在无图形界面的服务器中去集算器的安装目录下 esProc\config\raqsoftConfig.xml 文件中进行配置外部库路径和名称。

<extLibsPath> 外部库路径

<importLibs> 外部库名称(可多个)

b. 线程数设置

如果有并发预测,还需要在 SPL 设置“最大并行数”,也就是线程数。设置多少用户根据需求和机器情况自行设定。

..

在无图形界面的服务器中去集算器的安装目录下 esProc\config\raqsoftConfig.xml 文件中进行配置。

<parallelNum> 最大并行数

到此,环境配置完成。

二、建模

1. 用易明建模软件生成 mcf 文件

在用 SPL 建模之前,需要借助易明建模软件来完成数据加载,目标变量设置,变量选择,模型配置等内容,并将其保存为 mcf 文件。易明建模的使用方法请参考相关说明:文档总览 (raqsoft.com.cn)

设有一个贷款违约数据表如下,需要建模来预测新用户是否会发生违约行为。

..

文件命名为 bank-full.csv。

首先使用易明建模将数据导入,选择“y”为目标变量(预测目标),保存为 bank-full.mcf。

..

..

..

2. 导入 mcf 文件,建立模型

打开 SPL,导入配置好的 mcf 文件就可以建模了


A

1

=ym2_env("C:/Program Files/raqsoft/ymodel")

2

=ym2_mcfload("bank-full.mcf")

3

=ym2_model(A2)

4

=ym2_pcfsave(A3,"bank-full.pcf")

A1 初始化环境。ym2_env(appPath, configFile, pythonPath),appPath: 易明建模的安装路径,configFile: userconfig.xml 配置文件。默认的情况下,后两个不用设,

A2 导入配置好的 mcf 文件

A3 建立模型

A4 保存模型文件

3. 查看模型表现


A

5

=ym2_pcfload("C:/Users/29636/Desktop/tmp/bank-full.pcf")

6

=ym2_result@p(A5)

7

=ym2_result@r(A5)

8

=ym2_result@i(A5)

9

>ym2_close()

A5 导入模型文件

A6 返回多种模型指标和图形,如 Gini,AUC,ROC, Lift……

..

比如点击 A6 的第 6 条记录的 Value,然后点击右上角“图形浏览”图标,数值字段选择“Lift”,就可以查看 Lift 曲线

..

A7 返回模型算法信息和参数

..

A8 返回每个变量对目标变量的影响程度,简称重要度

..

A9 关闭建模服务,释放资源

注:A6,A7,A8 的内容也可返回为 json 串格式,在选项后加 j 即可,例如“ym2_result@pj()”

三、预测

预测之前需要有 pcf 模型文件和预测数据集

1. 数据预测


A

1

=ym2_env("C:/Program Files/raqsoft/ymodel")

2

=ym2_pcfload("bank-full.pcf")

3

=ym2_predict(A2,"bank-full.csv")

4

=ym2_result(A3)

5

=file("bank-full_result.csv").export@tc(A4)

6

>ym2_close()

A1 初始化环境

A2 导入 pcf 模型文件,生成 pd 模型对象。

A3 对 csv 文件执行预测。除 csv 外,还支持 txt、游标、序表和 mtx 文件

A4 获取预测结果

A5 将预测结果导出,在本例中预测结果为用户发生违约行为的概率。

..

A6 关闭环境,释放资源

2. 应用中数据预测

1. 系统启动时初始化环境并加载模型


A

1

=ym2_env("C:/Program Files/raqsoft/ymodel")

2

=ym2_pcfload(pcf_file)


…【可以加载多个模型】

3

=env(YM,A1)

4

=env(YM_Model_xxx,A2)

A1 初始化环境

A2 加载 pcf 模型文件,生成 pd 模型对象

A3 将 A1 设为全局变量

A4 将 A2 设为全局变量

2. 执行预测

在应用程序中通过 SPL 执行

ym2_predict(YM_Model_xxx,pre_data)

就可以用初始化时加载的模型 YM_Model_xxx 来预测并获得结果,其中 pre_data 是外部传送用于预测的数据。

如何在上层应用中调用函数可以参考链接:

https://c.raqsoft.com.cn/article/1647044897121#toc_h2_3

这种调用方式会立即执行。

3. 系统退出时释放环境


A

1

>ym_close(YM)


以下是广告时间

对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅



嗯,还不太了解好多乾?
猛戳这里
玩转好多乾