Oracle ADW 机器学习自动化加速实现客户购买预测
作者:互联网
视频观看
Oracle新近推出了基于web的自动机器学习用户界面(以下简称OML AutoML UI),使数据库DBA和数据科学家能够轻松地构建和部署机器学习模型。OML AutoML UI 是Oracle自治数据库机器学习的新组件,它提供了一个基于浏览器的界面,可实现机器学习建模过程自动化,并简化为只需点击几下鼠标即可部署模型。
OML AutoML UI 能够帮助更广泛的用户使用机器学习,例如有些用户,他们知道机器学习和算法的基本知识,以及一些场景和数据的应用,但对特定的算法的详细信息,建模过程和改进模型过程并不熟悉,代码编程让他们对机器学习望而却步。
OML AutoML UI 作为无代码建模加速器,为数据库DBA和数据分析人员提供了显著的生产力改进,允许自动化产生初始模型,并且让特定的超参数继续调整,生成符合要求的模型,用户也可以图形化操作自动生成NoteBook中的OML4Py 代码,再提供给更为专业的数据科学家通过手工编码进行改进。(如果资深数据科学家可能更喜欢编写代码,可以使用Oracle提供的 OML4Py 或Data Science Service中AutoML 功能。)
使用 OML AutoML UI,用户创建实验,使机器学习建模过程无代码和自动化,特别是简化其中耗时和重复的活动:
选择能够最好地处理所提供数据的算法
为模型确定正确的数据样本
识别数据中的哪些属性(或预测列)提供最多的驱动并最大限度地降低噪音数据影响
构建、调整、评估和选择模型。
使用OML AutoML UI可以大大简化整个机器学习的过程,用户只需要定义业务问题,准备数据(在ADW中生成表或视图),然后指定数据表和想要预测的目标,OML AutoML UI会完成其他工作,最终生成多个模型供用户考虑,用户可以选择其中某个或几个,简单配置即可发布为REST API。
当然,用户也可以直接通过数据库中的 SQL 查询使用这些模型,也可以通过Oracle分析云或Oracle APEX调用使用。
对于协作,用户可以共享AutoML实验给其他用户,并可以设置查看者、开发人员和经理角色的权限。
下面我们就结合实战来介绍一下OML AutoML UI如何加速机器学习模型生成和使用。这个场景使用的是车企客户销售历史数据,企业期望通过机器学习,能够对哪些客户倾向于购买哪类车型进行预测,从而更好指导针对新客户的广告投放和营销活动。
读者需要对Oracle ADW,ADW的Machine Learning Web界面,机器学习基本知识,SQL有一些了解。相关文档可参照《浅谈Oracle自治数据仓库云中的机器学习》
1、创建和配置AutoML实验
访问ADW提供的基于web的Machine Learning图形化界面,在首页中,可以看到快速操作中增加了AutoML图标,通过点击autoML图标,打开AutoML界面。
点击“创建”按钮,创建一个AutoML实验。
在弹出的AutoML实验创建界面,输入实验名称,例如“CAR客户购买预测”,点击数据源旁边的图标,选择数据源。
数据源界面中左边显示的是ADW数据库的Schema,选择特定Schema,右边显示Schema下所有表,可以通过下方输入框输入表名前面字符过滤,在这个例子中,我们选择的是TBL_CUST_CAR表,这个表中存储的是客户购买车型的历史信息。
选了数据源以后,我们需要配置机器学习建模需要的一些基础信息,在“预测”下面的列表中显示的是表TBL_CUST_CAR的所有字段,从中我们要选择学习的目标字段,也就是我们要建立模型针对哪一列的取值可能性进行预测,在这个例子中,我们期望建模预测新客户可能购买的车型,所以“预测”中选择已有客户的购买车型信息cartype_buy,在“案例 ID”中选择数据的唯一标识(也可以不选),这个表中是CUSTID,因为购买的车型不是连续的数值,所以“预测类型”中选择“分类”,如果是连续的数值,例如销量,金额等,最好选择“回归”,设置完基本参数以后,可以点击右上角“保存”按钮保存:
点击“特性”部分,可以显示数据源表的所有列,我们可以从中选取哪些列作为学习的输入参数,有时候不是表中的所有列都适合作为参数学习建模,例如有些和结果关系不大,比如姓名,或者和结果强相关,例如购买金额(这个是购买车型造成的结果)
点击“其他设置”部分,是有关建模的一些参数,例如希望自动化选取几个模型,自动化运行的最长时间,数据库服务级别,模型度量(可以有多个度量,我们在这里选择准确度),相关的算法等等。我们可以对最大数量,运行时间做一些调整。
2、运行AutoML实验和浏览结果
配置完以后,点击右上角“启动”按钮,可以选择“更快获得结果”还是“提高准确率”(这种方式耗时会更久一些),我们在这里选择“更快获得结果”,启动后会等待一会初始化,然后会弹出AutoML执行进度弹窗,可以把它拖到合适的位置,观察执行进度情况。
可以看到进度分为“算法选择”,“自适应采用”,“特性选择”,“模型优化”,“特性预测影响”几个步骤,随着执行情况,弹窗内容会更新,能够看到执行到了哪个步骤。如下界面显示已经到了“模型优化”阶段,左边准确率进度会显示选择了哪几种算法,每个算法的准确率情况如何。
当弹窗中所有项目后面图标变成对号,右上角“正在运行”变成“已完成”时,说明已经运行完毕,可以看到系统按照配置,自动选择了三种算法,生成了三个模型,模型名称是算法加上随机数格式,同时显示了每种模型的准确度,在这个例子中,单纯贝叶斯算法生成的模型准确度最好,可以点开“特性”部分,看到选择的表中各列对模型预测的影响,如下图所示,在这个例子中,年龄,可贷款的最大额度,孩子数量是影响购买车型的前三个主要因素。
我们关闭弹窗,点击列表中某个算法,通过链接弹出窗口,可以浏览具体算法的预测影响和混淆矩阵。同时可以选择某个算法行,点击列表上方,对结果进行操作:
度量:在准确率之外,把更多算法相关的度量指标显示出来
部署:把特定算法部署发布,可以通过REST API传递参数调用进行预测
创建记事本:把算法过程创建成NoteBook的Python代码,后面可以请资深数据科学家改进完善。
3、使用AutoML结果
我们可以通过在SQL中直接调用生成的模型,进行批量或者单个新客户购买可能性进行预测,如下示例对单个客户实时进行购买车型的预测。
在左上方下拉菜单中选择“主页”,在主页界面中,点击“快速操作”下方的“便签簿”图标,打开临时的NoteBook,可以使用如下SQL语句调用生成的模型,预测购买车型2的可能性,其中nb_7cccbad51a就是前面自动生成模型名称,后面是某个新的用户的具体信息,需要输入哪些参数可以通过前面的模型详细信息中字段列表获得:
SELECT ROUND(PREDICTION_PROBABILITY(nb_7cccbad51a, '车型2' USING42 as age,1 as car_amount,2 AS childamount, '已婚' as marriage,'男' AS gender, 1000000 AS creditcard_max),3) 购买可能性 FROM DUAL;
通过上面图中几个部分能够看到,对于中年男性,孩子多,已有一辆车,有一定贷款能力,则购买车型2的可能性会很大;而对于单身年轻女性,不希望贷款,则购买车型2的可能性很少,购买车型1的可能性相对比较高。这样就可以通过预测结果,指导针对不同的新客户群体进行精准推荐。
除此之外,我们可以浏览一下前面自动生成的结果。通过左上角菜单,选择“模型”,打开生成的模型界面,可以看到刚才自动化生成的模型:
点击“部署”可以看到刚才自动化生成的模型部署,点击后面URI下方的链接,能够浏览该模型的API具体调用信息(这部分REST API的调用,后面我们会在Oracle Machine Learning Service中详细介绍):
通过左上方下拉菜单,打开Notebook界面,能够看到刚才自动生成的NoteBook,点击打开NoteBook,可以看到是几段自动生成的Python代码,专业数据科学家可以在其中修改Python代码对该模型进行优化改进。
总结一下,OML AutoML UI可以作为整体企业机器学习运维(MLOps)战略的关键要素,其丰富的功能包括:
强大且易于使用的用户界面,用于机器学习建模
关键建模步骤的自动化
只需点击几下即可将模型部署为REST API方式
数据科学家生产力工具
将数据库内机器学习能力赋予非专家数据分析人员
最小的所需的用户输入:准备好数据表和确定目标列
实验自动化执行进度监测
具有丰富质量指标的模型排行榜
使用 OML4Py API 自动化生成选择的模型的NoteBook
还等待什么,立刻申请Oracle云服务免费账号,启动您的自动化机器学习奇幻之旅吧。
编辑:殷海英
标签:ADW,机器,模型,点击,学习,算法,AutoML,自动化,Oracle 来源: https://blog.51cto.com/u_15127541/2698680