但对于很多数据科学家来讲, 更偏向于使用R语言来做所有事情。R语言是最为流行,最为强大的数据统计分析,机器学习和可视化语言,本身R来自于开源社区,因此也有着非常活跃的社区和强大的生态系统支持。虽然R非常流行,但如何在企业级环境里面部署R,如何处理大规模的数据,如何通过R快速的构建和发布机器学习模型,仍然不是一件简单的事情。
Microsoft R是基于开源的R构建的,提供了免费的Microsoft R客户端和Microsoft R open以及商业版本的Microsoft R Server,和开源R完全兼容,提供了总共超过10000个R的语言包,并且提供了一些额外的工具来支持企业级部署,包括远程部署和调试,平台支持,Web服务发布等功能。理想的情况是,数据科学家可以通过R快速构建模型,并一键发布到R集群提供运营服务,而开发人员或者产品团队可以根据数据科学家快速发布的R web service使用数据模型,同时,其他数据科学家也可以通过R client进行模型的测试,调试等等,如下图所示:
本文主要介绍如何通过Microsoft R server在企业级开发测试环境里面实现机器学习模型的构建,可视化,远端调试以及机器学习模型的发布,客户端的调用等步骤。
后续文章会介绍,如何在企业级的生产环境里面大规模部署R server集群。 备注:Microsoft R Server for Linux/Windows已经在Azure中国区正式上线 Azure上部署Microsoft R server for Linux
登录到Azure的管理界面,选择"新建"-"虚拟机"-"全部",在搜索框输入"Microsoft R Server",可以看到微软提供多种不同操作系统的R Server:
选择" Microsoft R Server (version 9.1.0) for Linux (Ubuntu version 16.04)"进行创建,输入基本的信息,如虚拟机名称,用户名,密码,一定要记住你的ssh登录密码:
Azure上配置Microsoft R Server for Linux(Ubuntu)
在一个典型的Microsoft R Server开发环境部署中,我们叫做One-Box配置,也就是说把企业级环境里面必须的组件都部署到了一台虚拟机上,适合做开发调试,具体的部署架构图如下所示:
Web node:用于http接入及认证。 Compute node:执行R语言创建服务,后续企业级创建可以看到,其实compute node可以大规模扩展。 SQLite data store: 存放一些元数据,配置信息以及session和服务信息
在Azure中国区创建Microsoft R server后,我们来对他进行配置。Microsoft R Server 提供了一个明行的工具叫做Administrator Utility来帮助用户进行配置,我们下面来进行One Box的配置:
进入Microsoft R Server的安装目录,在Ubuntu上默认如下: cd /usr/lib64/microsoft-r/rserver/o16n/9.1.0/