云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

百度云_奥的斯服务器_安全稳定

小七 141 0

在本博客中,我将从第1部分继续介绍如何在Rstudio中构建机器学习模型,并直接在SAP HANA中执行,而无需将数据移出HANA。在这一部分中,我还将举例说明如何将机器学习模型引入生产就绪环境。

我将演示如何在不将培训数据移动到R客户端的情况下,从RStudio或SAP HANA上您首选的R GUI构建机器学习模型。此方法允许使用SAP HANA进行快速交互式机器学习培训和部署。

内容:

机器学习用例。评估机器学习模型。使用SAP HANA

1将模型部署到生产中。SAP HANA机器学习–所有直接从R执行的交互

本博客中介绍的用例是一个相当简单的数据集。我选择了这个数据集,这样您就可以在您自己的环境中重新执行我显示的步骤。数据科学的挑战是一个经典的监督二进制分类。我们的目标是建立一个机器学习模型来识别2型糖尿病患者怀孕:怀孕次数葡萄糖:口服葡萄糖耐量试验中2小时的葡萄糖血浆葡萄糖浓度血压:血压血压(mm Hg)三头肌:皮肤厚度三头肌皮褶厚度(mm)胰岛素:胰岛素2小时血清(μU/ml)体重:BMI体重指数(体重单位kg/(身高单位m)^2)谱系:糖尿病谱系功能年龄:以年为单位的年龄糖尿病:结果类变量(0或1)。768个中的268个是1,其余的是0.

2。创建和评估机器学习模型。

在这个博客中,我主要关注机器学习模型的评估和部署。在以后的博客文章中,大数据是什么,我将展示如何准备机器学习模型中的数据。数据准备步骤对于挤出训练数据中所有可能的信息,大数据现状,从而获得性能良好的模型至关重要。

从头开始创建机器学习模型并将模型保存到SAP HANA。

模型现在已经构建并保存–这可以在SAP HANA Studio中验证:

如上所示,什么是大数据云计算,该模型现在存储为PMML格式(预测标记模型语言)。

评估机器学习模型

接收器工作特性(ROC)曲线用于评估预测2类结果的连续测量的准确性(双变量分类)。在市场营销、销售、医学等领域,ROC曲线用于评估机器学习模型的可用性已有很长的历史。在坚果壳中,ROC曲线有助于确定构建机器学习模型是否比随机选择提供更好的结果,但是它也有助于确定真阳性和假阴性的最佳阈值。这在用例中是非常有价值的,例如,与客户联系会产生成本。下面是保险用例的ROC曲线。选择大约20%(x轴)的最有可能的客户产生大约50%的总客户有兴趣购买额外的保险。

生成上述ROC曲线和计算曲线下面积(AUC)所需的代码。这里最重要的是hanaml.Auc公司PAL算法,计算AUC得分并创建一个具有ROC值的表。

该表hanaml.Auc公司函数构建已经准备好可视化,因为它包含假阳性和真阳性的预计算点。

简单的R代码需要图表(创建同一图表的3种不同方法):

对训练和测试数据的机器学习模型进行评分:

分类机器学习模型的混淆矩阵。

而使用hanaml.mission.matrix文件我将在下面的函数中显示更多综合说明法。

使用插入符号混淆矩阵函数:

构建更全面的混淆矩阵。我在StackOverflow上找到了一些代码片段(https://stackoverflow.com/questions/23891140/r-how-to-visualize-conflusion-matrix-using-the-caret-package/42940553)为了满足我的需要,我对它进行了改进和改变。我将在我的GitHub中发布代码(参见下面的链接)。

(我的函数的屏幕截图,它创建了一个摘要混淆矩阵和选定的KPI–值来自另一个模型)。功能在我的github上可用。

3。使用SAP HANA将模型部署到生产环境

将ML模型从SAP HANA加载回R环境。实际上,您并没有将模型加载到本地R环境中—只是关于模型的元数据。

在撰写本博客时,有必要进行一个小的预处理步骤,以便R认识到从SAP HANA加载的模型是一个ML模型。如下图所示,我实际上训练了一个模型,但是只有一些记录。这一步显然非常快,因为训练行很小,而且如上所述,只需要允许在下一步覆盖保存的模型。

模型大小只有2行:

加载存储在SAP HANA中的模型。如下图所示,模型大小现在是401行,与实际的PMML模型相对应。

将模型应用于新数据–预测结果并将结果存储在SAP HANA中:

在SAP HANA Studio中,我们现在有一个包含所有预测和预测置信度的新表。

调度模型。

有多种方式安排重新训练或应用新数据的机器学习模型。我选择了一种简单的方法来使用Windows任务调度器,它内置于Windows 10中。

在任务调度器中创建新任务。

监视计划的作业。下面我展示了在新的患者数据中预测糖尿病的计划任务。作业将在我选择的时间间隔内无人运行。

如果您愿意,实际上有一个R包为您进行任务调度。

包"taskscheduleR"允许GUI和脚本方法。

对于脚本方法,这里是一个管理计划的示例。

如果您使用的是RStudio taskscheduleR,则可以实际上是作为一个插件嵌入如下:

我希望你喜欢我展示如何构建的博客文章,评估机器学习模型并将其部署到生产计划状态,购物返现,创建新的预测并将结果存储在SAP HANA表中。