除了R、Python,还有这些重要的数据科学工具
大数据文摘出品
编译:蒋晔、小七、蒋宝尚
这年头,如果你不会点儿R或者Python,你都不好意思说你是混数据圈的。
在你向一些大神请教的时候,他可能也会推荐你学习这两个高级编程语言,然后顺便在推荐你了解一下SQL以及Math。如果讲究点的,可能还会传授你一些Spark、AWS/云计算的经验。
嗯!差不多就这些了~
当前主流数据科学领域用的工具就是这些了。
但是,如果你想成为一个数据科学“英雄”,仅仅掌握一些主流的东西是不够的。
今天呢,文摘菌就给你推荐几个好用到爆的小工具~~
Linux
Linux名字应该是如雷贯耳了吧!但很多数据科学家对它的命令行并不熟悉。Bash脚本是计算机科学中最基本的工具,并且数据科学中很大一部分需要编程,因此这项技能至关重要。
我的Linux启动小企鹅
几乎可以肯定的是,你的代码会在linux上开发和部署,使用命令行完成一些工作是非常酷的。与数据科学一样,Python也无法独立于环境工作,并且你必须通过一些命令行界面来处理包、框架管理、环境变量、访问路径($PATH)等等。
Git
Git听名字,你也应该不陌生。大多数数据科学家对git似懂非懂。由于数据科学定义模糊,很多人都不遵循良好的软件开发实践。例如,有人甚至很长一段时间都不知道单元测试。
当你在团队中编码时,你就会知道git是很重要的。如果团队成员提交的代码发生冲突,你得知道如何处理。或者你需要挑选部分代码修复bug、更新……将代码提交到开源或私有的repo(如Github)时,你也可以使用Coveralls之类的东西进行代码测试,并且还有其他框架帮助你在提交时方便地将代码部署到生产中。
REST APIs
现在,你已经训练好了一个模型——然后该怎么办?没有人想看你的Jupyter notebook或者某种蹩脚的交互式shell脚本。此外,除非你在共享环境中进行训练,否则你的模型只能自己使用。仅仅拥有模型是不够的,而这正是大多数据科学家遇到困难的地方。
要从模型中获得实际的预测结果,最好通过标准API调用或开发可用的应用程序。像Amazon SageMaker这样的服务已经得到普及,因为它可以让你的模型和可用程序无缝衔接。
如果你功力深厚,当然你也可以使用Python中的Flask框架自己构建一个。
此外,在后端有许多Python包可进行API调用,因此了解API是什么以及如何在开发中使用API,这会让你有点儿与众不同。
Docker & Kubernetes
这两个工具棒极了。docker允许用户拥有一个生产就绪(production ready)的应用环境,而无需为每个在其上运行的单个服务集中配置生产服务器。与需要安装完整操作系统的虚拟机不同,docker容器在与主机相同的内核上运行,并且轻量得多。
想象一下像Python的venv这样的docker容器,有更多功能。 更高级的机器学习库(如Google的Tensorflow)需要特定的配置,而这些配置很难在某些主机上进行故障排除。因此,docker经常与Tensorflow一起使用,以确保用于模型训练的环境是开发就绪(development-ready)的。
容器化且可扩展的应用程序
随着市场趋向于更多的微型服务和容器化应用,docker因其强大的功能越来越受欢迎。Docker不仅适用于训练模型,也适用于部署。将模型视作服务,你就可以将它们容器化,以便它们具有运行所需的环境,然后可以与应用程序的其他服务无缝交互。这样,你的模型具有可扩展性同时也具有了便携性。
Kubernetes(K8s)是一个在多主机上进行规模管理和部署容器化服务的平台。本质上,这意味着您可以轻松地通过跨水平可扩展集群,管理和部署docker容器。
由于谷歌正在使用Kubernetes来管理他们的Tensorflow容器(还有其他东西),他们进一步开发了Kubeflow,一个在Kubernetes上用于训练和部署模型的开源工作流。容器化的开发和生产正不断与机器学习和数据科学相结合,我相信这些技能对于2019年的数据科学家来说将是重要的。
Apache Airflow
Airflow平台虽然很小众,但是却很酷。Airflow是一个Python平台,可以使用有向无环图(DAG)程序化地创建、调度和监控工作流。
DAG(有向无环图)
这基本上只是意味着你可以随时根据需要轻松地设置Python或bash脚本。与可自定义但不太方便的定时任务(cron job)相比,Airflow能让你在用户友好的GUI中控制调度作业。
Elasticsearch
Elasticsearch同样比较小众。这个有点特别,取决于你是否有搜索/ NLP用例。但是,我可以告诉你在财富50强公司工作,我们有大量的搜索用例,这是我们堆栈中最重要的框架之一。与在Python中从头开始构建某些东西相反,Elastic通过Python客户端便捷地提供了所需的一切。
Elasticsearch让你可以轻松地以容错和可扩展的方式索引和搜索文档。你拥有的数据越多,启动的节点就越多,查询执行的速度就越快。Elastic使用Okapi BM25算法,该算法在功能上非常类似于TF-IDF(词频-逆向文件频率,Elastic以前使用的算法)。它有一大堆花里胡哨的东西,甚至支持多语言分析器等定制插件。
Elasticsearch index
由于它本质上是比较查询到的与索引中文档的相似性,因此它也可用于比较文档间的相似性。强烈建议先查看一下Elasticsearch是否提供了所需的一切,而不是直接从scikit-learn包中导入TF-IDF使用。
Homebrew(mac系统)
Ubuntu有apt-get,Redhat有yum,而Windows 10甚至有OneGet 。这些包管理器通过命令行界面(CLI)安装、管理依赖项,并自动更新路径($PATH)。虽然mac系统不能开箱即用,但Homebrew可以通过终端命令轻易安装。
弥补了OS系统无包管理的缺陷
不能在本地安装Apache Spark的小伙伴。可以访问官网,下载后解压,并将spark-shell命令添加到$ PATH中,或者在终端输入brew install apache-spark(注意:要想使用spark,你需要安装scala和java)。
官网
https://spark.apache.org/downloads.html
相关报道:
https://towardsdatascience.com/some-important-data-science-tools-that-arent-python-r-sql-or-math-96a109fa56d
相关文章
-
从0到1:理论加实操!手把手教你用手机拍精彩大片
-
Airoha络达达发達發科技一级代理分销KOYUELEC光与电子
-
海外直播丨“重庆@海外友城”庆虎年迎新春
-
焦点分析|把直播放进微信后,腾讯想通过带货和朋友圈广告赚钱
-
贾跃亭罕见发声,FF91距离量产“只差临门一脚”!
-
支付宝回应全球移动支付报告:快2019年啦 支付宝全球用户已超9亿
-
瓜子二手车动作频繁,可是还将面临三大困难
-
京东一揽子计划,帮832个贫困县,80万贫困户直接获益!
-
Lyft宣布裁员982人在员工总数中占17%
-
我在盒马当“跑男”:日行三万步,月入近万元
-
携程出海,OYO搅局,飞猪平台化,2019年的OTA会有怎样的变化?
-
传Facebook正研发基于加密货币的支付服务;魅族:黄章还是最大股东;Pornhub考虑收购Tumblr
-
中国五金电商平台,你竟然还不知道?
-
建议收藏!学单片机快速就业的4个方法!
-
【钛晨报】阿里第三财季营收1614亿元,张勇称3月营收受疫情负面影响;小米10系列发布;58到家据悉将推迟美国IPO
-
谷歌账号被停用怎么办
-
MacBookPro/Air和Macmini升级配置小调价
-
老板,求你了,咱也整整私域流量
-
iOS15首批差评出炉,各种BUG都有!
-
解决文档在客户与同事之间的分享诸多难题?只需一款软件!
-
倪光南:AI时代不能再缺芯少魂,RISC-V就是中国CPU的最好机遇|MEET2020
-
刘晓庆参投的P2P理想宝清盘,13亿待还可债转房、债转股票
-
真特利迦皮套写真公开:最接近迪迦的存在,侧面照是真的邪魅!
-
红米哪些带nfc功能
-
氪星晚报 | 瑞幸咖啡或正加快赴港IPO;红黄蓝针对虐童案件发表声明;腾讯15款热门游戏启用健康系统
-
热门互联网行业受追捧,学互联网技术迎好前途
-
华为授权体验店武汉再开店,“Plus”背后是科技体验全面升级
-
最前线|AppleCard正式上线,最高3%的返现归根结底是为留住用户
-
猎豹移动产品被谷歌下架:股价跌17%市值降至4亿美元