实用|数据分析入门新手必备十大数据分析工具!
日前,供职于全球领先的社交游戏服务提供商 Zynga 的首席数据科学家 Ben Weber 给我们推荐了他眼中的2018年十大实用数据科学工具,让我们一起来看看吧!
1. Bookdown
Bookdown是一个开源的 R 代码库,它可以把用 R Markdown 写的文档转换成多种不同的格式,包括可打印的 PDF、epub 电子书以及自发布网页文档等。
作为 Github 的文档标记语言,markdown 已经为许多数据科学家所熟悉,因此 Bookdown 就成为整理文档资料,甚至出书排版的利器之一了。此外,它还支持多种不同的内核,也就是说它并不只限于 R 语言代码。
从2018年初开始,我就用 Bookdown 将我的技术博客转换成电子书的格式。对我来说,用 Bookdown 排版书籍可是比用 Latex 方便太多了,我之前论文用 Latex 的经历可真是不堪回首啊。
2. Cloud DataFlow
在 Google 云平台上,我最喜欢的工具之一就是 Cloud DataFlow。Cloud Dataflow 是 Google 提供的一项完全托管式的流式/批量数据处理服务,它提供了一个弹性而高可控的环境,让数据科学家可以在流水线运行时对其进行监控和问题排查。
在2018年,我试过在 DataFlow 上构建数据流水线、生产模型甚至进行游戏模拟等工作。总的来说,它的使用场景类似 Spark,但能更好的完成处理构建流式数据应用程序的任务。
此外,Dataflow 还可以被用作一个方便的集成点,通过向数据处理流水线添加基于 TensorFlow 的 Cloud Machine Learning 模型和 API,对类似的使用情形进行预测分析等进一步的深度学习数据处理,为机器学习夯实基础。
3. Python
以往的许多数据科学家,往往喜欢使用 R 语言,我也是如此。然而,近年来随着许多第三方库的出现,特别是机器学习、数据分析方面的第三方库日益完善,使用 Python 进行数据分析的软件生态链逐渐成为人们的第一选择。
在 Zynga,我的团队统一使用 Python 生态链上的各类分析工具。而在这之前,我对这种语言的接触不多。因此,我不得不强迫自己迅速接纳这门对我来说是全新的编程语言,还写下自己学习 Python 的动机,以及学习 PySpark、深度学习等新技术的愿望。
Python 的优势之一,就是社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、Web开发、数据库接口、图形系统多个领域。我们下面还会提到 Pandas、Featuretools 和 Flask 等。总的来说,Python 相当值得一学。
4. AWS Lambda
过去一年,我一直在关注如何让数据科学家能够将模型投入生产之中。而 AWS Lambda 等工具就提供了一个可行的解决方案。
AWS Lambda 是亚马逊提供的一个云代码托管服务,它让数据科学家能够在云中部署模型,进行实时数据流处理等工作。使用 Lambda,你可以指定一个函数,例如将预测模型应用于一组输入变量,然后 AWS 会处理部署这个函数,还提供了较好的弹性和容错能力。此外,你还可以使用 AWS Lambda 针对数据表中的每个数据更改,执行数据验证、筛选、排序或其他转换,并将转换后的数据加载到其他数据存储,能极大地简化模型部署工作。
5. Featuretools
Featuretools 库是用 Python 编写的一个自动化特征工程工具。
深度学习的一项重大创新,就是能够从半结构化数据(如文本文档)自动提取特征。而结构化数据集的特征工程技术也同样取得了质的飞跃。使用 Featuretools 库,你可以自动完成数据科学家在修改数据以构建预测模型时所执行的大部分工作。比如,它可以定义数据集中不同表(实体)之间的关联,还可以生成大量可应用于构建模型的特征等。我就尝试使用这种方法,利用脚本将北美冰球联赛的比赛自动分类为常规赛和季后赛。
6. Keras
Keras 是一个用 Python 编写的高级神经网络 API,它能够以 TensorFlow, CNTK, 或者 Theano 作为后端运行。Keras 的开发重点是支持快速的实验。能够以最小的时延把你的想法转换为实验结果,是做好研究的关键。
2018年也是我终于开始接触深度学习的年份。我最初使用 Keras 的 R 语言接口来尝试构建深度学习模型,但后来转换到 Python 来使用这个库。由于我目前的工作主要是处理结构化数据集,因此目前还没有遇到很多必须使用深度学习来解决的情况,但总的来说,我发现使用自定义的损失函数还是非常有用的。
7. Flask
Flask 是一个使用 Python 编写的轻量级 Web 应用框架,你只需要编写一个简单的 python 文件就能变成一个全功能的 web 服务:

在学习 Python 之前,Jetty 是我构建 Web 服务的首选方法,毕竟我那时候用的是 Java。而 Flask 是一个用于将 Python 函数变为 Web 调用的神器,对于构建微服务非常有用。我试过使用 Flask 为深度学习分类器打造一个网页终端,而在GDC 2019 上,我还将向大家展示在公司里如何使用 Flask 和 Gunicorn 来构建一个微服务,方便内部使用。
8. PySpark
PySpark 是一个针对 Spark 的 Python API,它能让你用 Python 语言处理 Spark 的“弹性分布式数据集”(resilient distributed dataset)RDD 对象。
在过去的一年里,我使用 PySpark 完成了越来越多的工作,一是因为它可以处理相对庞大的数据集,二是因为一旦你熟悉了 Python,使用 PySpark 就非常容易。如果你也想开始学习 PySpark,你可以使用 Databricks 社区版来启动和运行 Spark 环境,这很简单。
9. Pandas UDFs
并非所有 Python 代码都可以直接在 PySpark 里用,但是 Pandas UDF 使得在 Spark 中重用 Python 代码变得更加容易。 使用 Pandas 的用户定义函数(UDF,User-Defined Function),我们可以在函数中使用 Pandas 数据表对象,并指定用于拆分数据表的 key。结果就是,一个巨大的 Spark 数据表可以在分配给集群中的各个节点,转换为可以被你的函数所操作的 Pandas 数据表,然后将结果组合回原来的 Spark 表。这意味着我们可以在分布式模式下使用现有的 Python 代码。我目前供职的 Zynga 公司就使用 Pandas UDF 来构建预测模型。
10. 开放数据集
在过去一年中,为了撰写有关数据科学的文章,我从许多开放数据集里获得示例数据。我使用的实例里,就包括了来自 Kaggle、BigQuery 以及政府开放数据集的数据。
2018年是学习新数据科学技术的好年头,我很高兴能在新的一年里继续学习。在2019年,我期待着探索强化学习技术,Spark Streaming 在线机器学习技术以及用深度学习技术处理半结构化数据库等全新的领域。让我们一起学习吧!
题外话
在此疾速成长的科技元年,编程就像是许多人通往无限可能世界的门票。而在编程语言的明星阵容中,Python就像是那位独领风 骚的超级巨星, 以其简洁易懂的语法和强大的功能,脱颖而出,成为全球最炙手可热的编程语言之一。

Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。
在下个十年的剩余时间里,Python 还能如此重要以及保持完整性吗?今天,我们将对事实进行分析,破除一些误解。
CSDN大礼包:全网最全《全套Python学习资料》免费分享🎁
😝朋友们如果有需要的话,可以扫描下方二维码免费领取🆓
如果你对Python感兴趣,想通过学习Python获取更高的薪资,那下面这套Python学习资料一定对你有用!
资料包括:Python安装包+激活码、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。0基础小白也能听懂、看懂,跟着教程走,带你从零基础系统性地学好Python!

一、Python所有方向的学习路线
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python学习软件
工欲善其事,必先利其器。学习Python常用的开发软件都在这里了!

三、Python入门学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
四、Python练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!

五、Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。这份资料也包含在内的哈~
六、Python面试资料
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


七、资料领取
上述完整版Python全套学习资料已经上传CSDN官方,需要的小伙伴可自行微信扫描下方CSDN官方认证二维码免费领取

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
