C/C++教程

Oracle ADW 机器学习自动化加速实现客户购买预测

本文主要是介绍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云服务免费账号,启动您的自动化机器学习奇幻之旅吧。


编辑:殷海英



这篇关于Oracle ADW 机器学习自动化加速实现客户购买预测的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!