数据科学家应该掌握的5个工具

jopen 8年前
 

即使是知识渊博的数据科学家也能提升他们的技术水平。当谈及到分析你编纂的数据时,有大量的工具可以帮助你更好的理解数据。我们与我们的数据科学指导者探讨了很久,最后总结出了一个包括5个数据科学工具的列表,同时这也是你在当今的社会形势下应该掌握的5个数据科学工具。

dedup

dedup是一个Python库,使用机器学习快速的对结构化数据进行重复数据删除和实体解析。

数据科学家发现他们经常需要使用SELECT DISTINCT * FROM my_messy_dataset;不幸的是,现实世界中的数据集往往更加复杂。无论你是去对多个数据源进行汇总,还是简单的数据收集,开始你都需要对重复数据的删除做一个有意义的分析。

如你所想,有取之不尽的方法可以用来合并数据和用之不竭的规则来定义你数据的等价意义。有相同地址的两家餐馆是属于一个公司么?名和姓都相同的两条记录就是同一个人么?

你很幸运,dedup可以让你转危为安!基于创新的 计算机科学研究 ,dedup使用机器学习(更确切地说,应该是 主动学习 )去学习,通过合并人类的反馈对两个可能的模棱两可的记录进行研究,并寻找究竟是什么构成了两者的“相似”。更方便的是,它有一个图形用户界面( GUI ),任何人都可以使用它。

贡献者Jonathan Dinu,Galvanize的Academic Excellence的副总裁。

Theano

Theano是一个Python库,你可以有效地定义、优化以及评估包含多维数组的数学表达式。

Theano的特点:

  • 和Numpy紧密结合——在Theano编译的函数中使用numpy.ndaaray。
  • GPU的透明使用——在执行密集型数据计算时,相比于CPU,速度提升了140倍。(使用float32进行测试)
  • 速度和稳定性优化——对log(1+x)得到正确的答案,即使x真的很小。
  • C语言代码动态生成——加速评估表达式。
  • 广泛的单元测试和自我验证——发现和诊断不同种类的错误。

贡献者 Mike Tamir ,Galvanize首席科学官。

StarCluster

StarCluster已经开始在Amazon的EC2云服务器中设计虚拟机创建、配置和管理集群的自动和简化程序。StarCluster允许所有人在面向分布式和并行计算的应用和系统的云服务器中轻松的创建一个集群计算环境。这允许你在无限制的数据上做交互程序。

贡献者 Alessandro Gagliardi ,Galvanize数据科学指导者。

graph-tool

在python网络和图形分析库与日俱增的情况下,图形工具给了不少希望。尽管像 NetworkXGephi 这样的工具在不断成长的工具中仍然还有它们的一席之地,但是对于那些想要做大图像高级分析的人来说——无论是社会网络、道路网络、还是生物网络——这两者往往会显得力不从心。

NetworkX一直是用于网络分析的最流行的Python工具,因为它有着 丰富的API 并且使用的门槛很低,但是一旦你开始处理更大的图形,纯python实现的弊端才 真正开始凸显 。而Gephi是一个极好的 交互式可视化 和开发新图像的图形化工具,但是有一个麻烦的脚本接口,使得它很难使用编程方式去控制。

图形工具尝试从它前辈中吸取经验教训并给数据科学家最好的结果。它使用C++实现(可并行执行)并用Python来武装,绑定了一个易于使用的API,同 时获得了超快的速度,而且不影响使用性。为了弄懂一个网络,它的功能不仅包括绘制和可视化图像,还要和动画图像进项交流并给图像赋予生命。

贡献者 Jonathan Dinu , Galvanize的Academic Excellence的副总裁。

Plotly

Plotly是一个面向R,Python,MATLAB,JavaScript和Excel的交互式图形库。Plotly也是一个用于分析和分享数据和图像的平台。

Plotly是如何与众不同的呢?与Google Docs和GitHub一样,你可以协调和 控制你的数据 ;可以将文件设置成公有的、私有的、秘密文件或是分享的。如果你使用plotly的免费公共云, 脱机Plotly ,或是 现场部署 ,下面的选项很多都是可以获得的。

在你的工作流中可以使用Plotly,这里有三种可用方式:

为数据科学家整合其它工具。 Plotly的R,Python和MATLAB的API可以让你做交互、更新 仪表面板 和图像。Plotly整合了 IPython NotebooksNetworkXShinyggplot2matplotlibpandas ,reporting tools和数据库。例如,下面的图是 使用ggplot2制作 的,然后嵌入到这个博客中。将鼠标悬停后看看数据变化,然后单击拖动放大。

数据科学家应该掌握的5个工具

创建交互式地图。 Plotly的图形库建立在D3.js之上。对于地理数据,Plotly支持分级统计图、散点图、气泡图、分块图和线图。你可以制作类似下面这样的地图,像R和Python一样把它们嵌入到博客,应用程序和仪表板。

2014 全球 GDP( 来源: CIA世界概况

数据科学家应该掌握的5个工具

建立全方位的可视化。 你可以为使用Plotly满足任意的可视化需求:地图、2D、3D以及流图。点击并移动你的鼠标来旋转这个图,悬停并观察数据变化,或切换放大。

参数图

数据科学家应该掌握的5个工具

贡献者: Matt Sundquist ,Plotly的CCO,兼联合创始人。

还想寻求更多的工具么?去阅读“数据科学家应该掌握的七个Python工具”这篇文章。

原文链接: 5 More Tools All Data Scientists Should Know How to Use (译者/刘帝伟 审校/赵屹华、朱正贵、李子健 责编/周建丁)

译者简介:刘帝伟,中南大学软件学院在读研究生,关注机器学习、数据挖掘及生物信息领域。