3.7 部署
有一些用户可能已经拥有了部署系统,按用户所需的格式将所开发的模型导出即可。
对于线性回归模型,MLlib支持将模型导出为预测模型标记语言(Predictive Model Markup Language,PMML)。
更多关于MLlib导出PMML模型的信息,请访问:https://spark.apache.org/docs/latest/mllib-pmml-model-export.html。
对于R notebook,PMML可以直接在其他环境运行。使用R语言函数包PMML,可以将R语言模型导出。
更多关于R语言函数包PMML的信息,请访问:http://journal.r-project.org/archive/ 2009-1/RJournal_2009-1_Guazzelli+et+al.pdf。
可以将决策模型直接部署在Apache Spark上,便于用户访问使用。
这里有两个部署结果经常使用的方法:(1)仪表盘和(2)基于规则的决策。我们根据结果提供的对象来选择合适的方法。
这里,我们简单介绍了这两个方法。详细的决策部署需要优化,这不是本章的主要内容。在后续的章节中,我们会花一些时间介绍部署,让读者了解更多。
3.7.1 仪表盘
对于实时分析仪表盘,很多用户将Spark 流处理和其他工具一起使用。
我们的工作是采用一个简单的仪表盘方法通过图形和表格将分析结果呈现给用户。所有仪表盘的交换性均与一个或多个特征的绘制相关。特征更新时,每个绘制算法会再次自动执行并重新绘制图形。
对于R notebook,我们可以使用R语言程序包shiny 和 shinydashboard来快速建立仪表盘。
更多关于使用shinydashboard程序包的方法,请访问:https://rstudio.github.io/shinydashboard/。
新版的Databricks也提供了仪表盘的构建工具。只需前往“Workspace -> Create -> Dashboard”启用它即可。
Databricks的仪表盘功能强大,效果直观。建立后,用户只需要点击一下按钮,就可以给公司员工或其他用户发布一个仪表盘。
3.7.2 规则
有很多工具可以将所有模型结果转变为规则。特别是R语言的计算结果,有几个工具可以用来将预测模型的结果提取为规则。
我们使用R语言程序包rpart.utils以不同的格式提取和导出决策树模型的规则,导出格式包括RODBC。
更多关于R语言程序包rpart.utils的信息,请访问:https://cran.r-project.org/web/packages/rpart.utils/rpart.utils.pdf。
关于MLlib提取规则的讨论,请访问:http://stackoverflow.com/questions/31782288/how-to-extract-rules-from-decision-tree-spark-mllib。