用RPython在云端运行可扩展数据科学
用R&Python在云端运行可扩展数据科学
前言
如今,数据科学变得越来越复杂。这种复杂性由下面三个因素导致:
- 增长的数据生产能力 —— 环视四周,数的出多少个能产生数据的设备呢?如果你用笔记本电脑来浏览本文的话算一个,如果身边有智能手机(以及安装的APPs)的话再加一个,如果带了健身手环的话还要加一个,驾驶的汽车(有些情况下)也算一个 —— 它们都在持续不断地生产数据。现在设想今后几 年内的情景,你所使用的冰箱、家里的温度调节器、穿戴的衣物、兜内的钢笔以及喝水的水壶都会嵌入传感器,不断向数据科学家(和数据库)传输数据用来分析。
- 低廉的数据存储成本 —— 我们来做个猜测。猜一猜,把自古以来全球所有的音乐存储起来需要花费多少钱呢?你的答案是什么?我的估计是总花费远不到1000美元。
- 廉价的计算能力 —— 看一下最近发布的一款笔记本电脑性能配置清单。一个拥有64GB RAM的Xeon处理器加上Quadro的GPU。这台机器预计售价不到2000美元,重量约为2.5kg。还需要我多说什么吗?
总之,我们正在源源不断地生产数据(当你阅读本文时,你也将成为一个数据样本),我们能以极低的成本存储这些数据,并且对它们做计算和仿真处理。
为什么在云端进行数据科学?
那我们为什么要把数据放在云端处理呢?当你看到一台笔记本电脑就配备64GB RAM时,不禁会问我们真的需要把数据送到云端吗?答案绝对是需要的,我们能找出一大堆理由来。下面就列出几条:
需要运行可扩展的数据科学:让我们回到几年前。在2010年,我进入一家跨国保险公司组建数据科学部门。其中的一项工作就是采购了一台16GB RAM的服务器。由于是新组建部门,我们按照超前3~5年的标准采购。当初类似星形的组合结构,随着我们的雇员增加而无法扩展。不仅因为组内成员增长,数据量也呈指数级增长。由于只有一台实体机,我们陷入了困境!我们要不购买一台新的、性能更强的服务器,要不让现有这台满负荷运转(很快就将会过载)。你最不愿意看到的事情就是组里的数据科学家盯着屏幕等待未处理完的数据!而云端的机器只需轻击鼠标就能轻易扩展,省去了很多烦心事。因此即使数据量增长几倍,现在的脚本和模型依旧能够正常运行。
成本:可扩展性是一方面,成本也是一方面。假设你有一个问题需要解决,问题不常现,但是需要更高配的计算基础框架。这类情况很常见 —— 若想挖掘自己赞助的某次年度事件的社会媒体数据,但想实时查看结果。受制于成本,不可能为此而买一台新机器。很简单,这时只要租一台高配置的机器,租用几个小时或者几天就能解决问题,成本是新购机器的零头。
协作: 当想和多位数据科学家同时工作时该如何是好?想必你不愿意他们每个人都在本地机器上复制一份数据和代码吧。
共享:当想和组员共享Python/R代码时会怎么办?你所使用的函数库可能在他那儿没有,或是版本太低。如何确保代码在不同机器间可迁移呢?
更大的机器学习系统开发生态系统:像AWS、Azure等一些云服务商,提供完整的生态系统帮你采集数据、生成模型并部署。如果使用实体机,都需要自己设置这些配置。
快速搭建原型:很多时候,你在路上或是和朋友交流时蹦出了新想法。这些情况下,使用云计算服务就会很便捷。能快速地完成原型开发,而不必担心版本和扩展性。在证实了自己的想法之后,也能方便地转化为产品。
在 这里有更多关于云计算部件的内容。
现在你明白了数据科学的云计算的需求了吧。我们接着看看在云端执行R和Python的不同选择。
在云端做数据科学的选择:
Amazon Web Services (AWS)
Amazon是云计算界的老大。它们占据最大的市场份额,有完整的文档,提供便捷的环境支持快速扩展。这篇文章教你如何在机器上运行 R或者RStudio。如果云端的机器是Linux系统,那么Python是预装的。也可以自己安装额外需要的库函数和模块。
你可以使用 AWS machine learning,自己配置一台机器,甚至直接使用 DataScienceToolbox,它提供工具箱之外用到的所有软件。平台不仅仅是提供服务,还提供一些大规模数据集供你玩转大数据。
因为AWS是最流行的选择,它形成了完善的生态系统,并且(相对其它而言)更容易找到包含正确经验的各种资源。然而,Amazon相比其它家服务的价格通常更贵一些,甚至不提供某些服务。另外,由于某些原因机器学习的服务不对亚太地区开放。因此,如果你恰好位于这些地区,则需要选择北美的服务器,或者在云端自己配置一台虚拟机。
Azure Machine Learning
如果AWS是冠军的话,Azure就是冠军挑战者。Microsoft明确地加大力度提供一个执行端对端数据科学和机器学习流程的接口。你可以使用他们的 studio来搭建机器学习工作流程,在云端使用JuPyTer notebooks,或者直接使用ML APIs。
Microsoft已经在 虚拟学院提供了免费的电子文档和MOOC帮你入门。
IBM BlueMix:
如果说Amazon和Microsoft是在云计算领域有机地发展,那么IBM的思路略有不同。IBM开发了BlueMix平台,随后急速开始营销其服务产品。尽管提供方式不如AWS和Azure直接,但还是能在云端提供设置记事本而使用。
数据科学社区如何使用Watson提供的APIs也将会很有意思。
Sense.io:
如果觉得我之前写的那些都太复杂了,那就有必要了解一下Sense。Sense项目可以只点击一个按钮完成部署。他们提供的服务基于R、Python、Spark、Julia和Impala,成员之间灵活地合作和共享分析结果。观看这段视频初步了解这款产品:https://www.youtube.com/embed/n3RwCr9l4G8
Demino DataLabs
Domino位于旧金山,它提供一个安全的云计算环境,支持R、Python、Julia和Matlab等开发语言。平台提供版本控制功能和特色,使得组内合作和共享变得无比容易。
DataJoy
DataJoy目前像是Sense和DominoDataLab的剥离版本,但它今后如何发展很引人关注。目前,若想在云端运行R或者Python,不妨也试一试DataJoy。
PythonAnywhere
你如果正在开发网络应用,并需要搭建一个包含数据科学模块的网站,PythonAnywhere似乎是个完美的选择。正如名字所称,这个选择是基于Python开发,但它提供了一个单独的窗口来托管主机、搭建网站和进行数据科学分析。
在云端进行数据科学的挑战:
尽管云计算有其独有的优势,它也面临着不少挑战。我认为这些挑战在长期并不会停止云服务使用的增长,但是偶尔也会形成一些障碍。
和第三方共享数据的担忧:我不断地面临这项挑战。不论你如何试图向一部分人解释云端的安全性,把数据共享到公司外部总是令人担忧。通常这都是监管方需求或是法律要求,但往往给出的理由也很无厘头。例如,很多银行都不愿意上传它们的数据到云端进行分析。
需要上传/下载大量数据:由于数据中心存储大量的数据 —— 如果网络基础设施不稳固,一次性上传这些大数据将是巨大的挑战。
后记
云计算正因其带来的利益而受到更多的关注,这些云计算服务变得常态化(假如目前还没有)也将只是时间问题。希望你觉得这些云计算服务有用,当你需要的时候唾手可得。
用RPython在云端运行可扩展数据科学相关推荐
- chrome扩展程序科学_5 Chrome扩展程序可简化您作为数据科学家的生活
chrome扩展程序科学 Chrome extensions are fantastic, useful species of software that you can add to your Ch ...
- usagestatsmanager获取正在运行应用_用Python构建数据科学Web应用程序
在本文中,我将向你展示如何使用streamlit python库快速构建一个简单的数据驱动web应用程序,只需几行代码. 作为一名数据科学家或机器学习工程师,能够部署我们的数据科学项目是很重要的.传统 ...
- python扩展库用于科学计算的有哪些_数据科学必备的十大 Python 库
Python 已成为当今使用最广泛的编程语言之一,尤其是在数据科学领域. Python 是一种高性能的语言,易于学习和调试,并且具有广泛的库支持.这些库都有自己独特的功能,一些专注于数据挖掘,一些专 ...
- 数据科学、管理科学系课程教学课件——FineReport实验指导书节选====港口生产运行情况
数据科学.管理科学系课程教学,0基础也能掌握,本节讲述的是物流管理类专业的数据科学.管理科学系课程案例:港口生产运行情况 使用数据 fredu数据库:地图数据.港口排名.集装箱业务线性图.目 ...
- GPU—加速数据科学工作流程
GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...
- 2018:数据科学20个最好的Python库
作者 | ActiveWizards 译者 | 婉清 编辑 | 阿司匹林 出品 | AI科技大本营(公众号ID:rgznai100) Python 在解决数据科学任务和挑战方面继续处于领先地位. ...
- 数据科学中必须知道的5个关于奇异值分解(SVD)的应用
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法那些事 前言:本文为大家介绍了5个关于奇异值 ...
- 常用构建数据科学应用程序的七个Python库
当我开始学习数据科学的旅程时,这些都是我脑海中一直存在的问题.我学数据科学的目的不仅仅是为了开发模型或清理数据,我想制作人们可以使用的应用程序,我正在寻找一种快速的方法来制作MVP(最小可行产品)来测 ...
- 你知道什么是数据科学?如何把数据变成产品么?
本文转自:O'Reilly(www.oreilly.com.cn):作者:麦克.罗克德斯(Mike Loukides): 未来属于那些知道如何把数据变成产品的企业和个人. --麦克.罗克德斯(Mike ...
最新文章
- python列表切片口诀-Python-100例(7-8) 复制列表 打印乘法口诀
- 解密PreAngel区块链布局:平台协议类项目占4成,多个项目蓄势待发
- lightswitch 添加 TreeView 控件
- nodejs window下安装与配置淘宝镜像
- Model 3车主对FSD套件不满意 德国法院下令特斯拉回购汽车
- 单例模式、使用getInstance()方法的原因及作用
- MindManager的例图资源
- Hibernate HQL基础
- ios 自动缩小字体_iOS WKWebview字体自动放大的问题
- [转载]在安装win7系统时如何不产生100M的系统保留分区
- 老师用计算机教我们画画拼音,《汉语拼音13 ang eng ing ong》第三课时教学设计...
- Python获取金山词霸每日一句
- Android onKeyDown事件 监听不到Home键 可以监听到back键
- 腾讯AI Lab 2020年度回顾:科技向善,迈向通用人工智能
- 基于Dav快速搭建React开发框架
- android 模拟器使用intel硬件加速
- BigDecimal源码分析。
- 文献分享 基于ECG和ECG呼吸信号特征的阻塞性和限制性肺病自动检测
- 使用idea快速创建maven项目
- 2017年大计基算法题 题解
热门文章
- java tf值搜索_搜索引擎优化 TF_IDF之Java实现
- mysql时间变成季度_Mysql 时间操作(当天, 昨天,7 天,30 天, 半年, 全年, 季度)
- 2014年电大计算机应用基础网考试题,2017年电大计算机应用基础网考试题与答案...
- Linux下VMware虚拟机报Could not open /dev/vmmon: No such file or directory. Please make sure that the kern
- 找到字符串的最长无重复字符子串
- 欧拉角推算旋转矩阵的问题
- tkinter 笔记:创建输入框并显示结果 (莫烦python笔记)
- 文巾解题 372. 超级次方
- 文巾解题 50. Pow(x, n)
- java 左边补0_java基础知识