(2)在SPL中配置外部库
(a)复制外部库所需要的文件
在易明建模的安装目录下找 YModelCil 和 lib 文件夹
然后去这两个文件夹里找到建模外部库所需要的文件,复制到集算器目录(【安装根目录】\esProc\extlib\YModelCil),比如C:\Program Files\raqsoft\esProc\extlib\YModelCli。
建模外部库所需的文件有:
1>易明建模目录的YModelCil中含有以下jar和xml
ant-1.8.2.jar
commons-beanutils.jar
commons-lang-2.6.jar
ezmorph-1.0.2.jar
json-lib-1.1-jdk13.jar
raq-ymodel-cli-2.10.jar
userconfig.xml
2>易明建模的lib中含有以下jar
commons-io-2.4.jar
esproc-ext-20211104.jar
fastjson-1.2.58.jar
gson-2.8.0.jar
jackson-annotations-2.9.6.jar
jackson-core-2.9.6.jar
jackson-databind-2.9.6.jar
jackson-databind-2.9.6-sources.jar
jackson-dataformat-msgpack-0.8.14.jar
mining.jar
msgpack-0.6.12.jar
msgpack-core-0.8.16.jar
(b)设置userconfig.xml文件参数
在集算器目录esProc\extlib\YModelCil下的userconfig.xml文件中设置参数
名称 | 参数说明 |
sAppHome | 易明建模的安装目录 |
sPythonHome | 易明建模目录的Python路径 Windows: raqsoft\ymodel\Python37 Linux: raqsoft/ymodel/Python37/bin/python3.7 |
iPythonServerPort | Python服务网络端口 |
iPythonProcessNumber | Python进程数 |
bAutoDecideImpute | 是否智能补缺 |
iResampleMultiple | 重抽样次数 |
其中必须要配置的参数为sAppHome和sPythonHome,其他参数可以采用默认值,有需要再进行修改。比如可以配置参数如下,加粗部分是必须要配置的,根据自己的安装路径。
<?xml version="1.0" encoding="UTF-8"?>
<Config Version="1">
<Options>
<Option Name="sAppHome" Value="C:\Program Files\raqsoft\ymodel"/>
<Option Name="sPythonHome" Value="C:\Program Files\raqsoft\ymodel\Python37\python.exe"/>
<Option Name="iPythonServerPort" Value="8510"/>
<Option Name="iPythonProcessNumber" Value="2"/>
<Option Name="bAutoDecideImpute" Value="true"/>
<Option Name="iResampleMultiple" Value="150"/>
</Options>
</Config>
其实,从这里可以看出,易明建模也是基于Python写的,但它将Python算法做了封装后,程序员就不必再理解算法的数学原理和运行细节了。
(c)SPL环境配置
1>. 配置外部库
打开SPL,在选项菜单里,外部库选择里勾选YModelCli,使其生效。外部库的路径为第(1)步骤中集算器YModelCli的安装路径。
在无图形界面的服务器中去集算器的安装目录下esProc\config\raqsoftConfig.xml文件中进行配置外部库路径和名称。
<extLibsPath>
外部库路径
<importLibs>
外部库名称(可多个)
2>. 线程数设置
如果有并发预测,还需要在SPL设置“最大并行数”,也就是线程数。设置多少用户根据需求和机器情况自行设定。
在无图形界面的服务器中去集算器的安装目录下esProc\config\raqsoftConfig.xml文件中进行配置。
<parallelNum>
最大并行数
到此,环境配置完成。
3. 建模和预测
(1)加载数据
SPL能支持csv,excel或数据库中的数据用于建模,这里以csv为例,其它数据源类似。
设有一个贷款违约数据表如下,需要建模来预测新用户是否会发生违约行为。
文件命名为bank-full.csv;
A | |
1 | =file(“bank-full.csv”).import@tc() |
2 | =ym_env() |
3 | =ym_model(A2,A1) |
A1 导入建模数据,读成序表
A2 初始化环境,执行A2后会在易明建模的安装目录下生成store目录及子目录用以保存数据及结果文件。
A3 加载建模文件,生成md对象
(2)目标变量设置和变量统计
数据加载进来后要设置目标变量
A | |
… | … |
4 | =ym_target(A3,“y”) |
5 | =ym_statistics(A3,“age”) |
6 | =A1.fname().(ym_statistics(A3,~)) |
A4 表示将字段“y”设置为目标变量,目标变量可以是二值变量或数值型变量。
A5 查看某个变量的统计指标,比如 “age”,返回值中可以看到缺失率,最大最小值,异常值,数据分布图等参数。
A6 循环变量名查看所有字段的统计信息,返回包含所有字段的统计信息二级序列。
(3)建立模型和模型表现
A | |
… | … |
7 | =ym_build_model(A3) |
8 | =ym_present(A7) |
9 | =ym_performance(A7) |
10 | =ym_importance(A7).sort@z(Importance) |
A7 使用建模函数建立模型,执行后在后台会进行全自动化数据预处理和建模过程,此过程会耗费一些时间,时间长短取决于数据量。结果返回pd模型对象。
模型建好后,可以调用pd模型对象查看模型信息、模型质量和重要度。
A8 返回模型AUC值及参数
A9 返回多种模型指标和图形,诸如AUC,ROC, Lift……
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、学习软件
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
三、全套PDF电子书
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
四、入门学习视频
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!