技术开发 频道

数据科学家都应会使用的7款Python工具

  【IT168 技术】如果你是一个有追求的数据科学家,你应该充满好奇心,常常探索、学习和提问。在线教程和视频可以作为初期的准备学习,但能够证明你已经做好准备成为一个数据科学家的最好方式是,你可以熟练的使用编程环境中各种所需的工具。

  作者询问了他们的数据科学专家,让他们列出了他们所认为的所有数据科学家都应该熟练使用的7个Python工具。Galvanize Data Science和GalvanizeU课程均着眼于学生是否花费大量时间沉浸于那些技术,将时间投资在深入研究工具上,这会让你在找第一份工作时拥有绝对的优势。下面就来看看这些工具:

  IPython

  IPython是多种编程语言的交互式计算的命令外壳,最初为Python编程语言开发,提供了增强自省、富媒体、增加额外的shell语法、tab补全和丰富的历史功能。IPython提供以下功能:

  强大的shell交互功能(基于QT终端)

  一个基于浏览器的笔记本,支持代码、文本、数学共表达式、内置图表和其他富媒体

  支持交互数据可视化和使用GUI工具包

  灵活的、可嵌入的将解释程序加载到自有工程里

  易用,并行计算的高性能工具

  GraphLab Create

  GraphLab Create是一个Python库,由C++引擎支持,用于快速构建大规模、高性能的数据产品。

  下面是GraphLab Create的一些特点:

  能够在您的计算机上交互高速的分析TB量级数据

  可分析表格数据、图形、文本和图像的单一平台

  先进的技术机器算法学习,包括深度学习、进化树、factorization machines理论

  使用Hadoop Yarn或EC2集群在你的笔记本上运行相同的代码

  利用灵活的API接口使自己专注于任务或机器学习

  使用数据预测服务轻松部署云数据产品。

  为探索和生产监测建立可视化数据

  Pandas

  Pandas有BSD开源许可,是让Python编程语言更加易于使用的数据结构和数据分析的开源软件。在数据修改和预处理方面,Python早已十分强大,但是在数据分析和建模上,Python还不是十分完善。Pandas正好弥补了这一短板,它能够使你的全部数据分析能够在Python上实施,而不用借助于其他特定语言(例如R语言)。

  结合强大的Python工具包和其他库,它在Python的数据分析环境中能够有优异的性能、生产力和兼容性。Pandas不能实现超出建模函数外线性回归和面板会归;这可以通过看statsmodels和scikit学习。要把Python做成首位的统一建模环境还有很多工作要做,但我们已经在奔向目标的道路上了。

  PuLP

  线性编程是优化的一个类型,一个目标函数应该最大化的给与一定限制。PuLP是用Python写的线性编程模型。PuLP可以生成线性文件,调用高度优化的求解器GLPK、COIN CLP/CBC、CPLEX和GUROBI来解决线性问题。

  Matplotlib

  Matplotlib是一个Python 2D的绘图库,它可以生成高质量图表,用于跨平台的硬件格式和交互式环境中。Matplotlib可以用于Python脚本,Python和IPython的shell界面(ALA Matlab或Mathematica),web应用服务器和6类图形用户界面工具包。

  Matplotlib试图让简单的事情更简单,让困难的事情增加可能性。仅用几行代码就可生成图像、直方图、能量光谱、柱状图、散点图等等。

  对于简单的绘图,Pyplot接口提供了一个MATLAB-like界面,特别是在结合IPython时。对于有能力的用户,你可以完全控制线型、字体属性、坐标属性等等,并且通过一个面向对象的接口或提供一组函数给MATLAB用户。

  Scikit-Learn

  Scikit-Learn是一个简单有效的数据挖掘和数据分析工具。他的优点就在于,在任何情况下都是可以访问的,并且在多种语境下可以重复使用。它基于NumPy、SciPy和mathplotlib构建。Scikit-Learn采用开源BSD许可,在商业上可用。Scikit-Learn有以下特点:

  分类:识别对象属于哪一类别

  回归:预测一个对象相关联的持续价值属性

  聚类:类似属性对象的自动分组聚集

  降维:减少需考虑的随机变量的数目

  模型选择:比较、验证和选择参数模型

  预处理:特征提取和规范化

  Spark

  Spark由一个驱动程序组成,它可以运行用户的main函数,且能在集群上执行各种并行操作。Spark最主要的优点就是它提供弹性分布式数据集(RDD),这是一个可并行操作的按聚类节点分区的元素集合。RDDs可在Hadoop文件系统中创建(或任何其他的Hadoop支持的文件系统),或现有的Scala集合中已有的标量数据集合将其转化。用户可能也希望Spark能够保存RDD,并且允许有效复用和并行操作。最后,RDDs无法自动从节点中复原。

  Spark的另一个优势是可被用于并行操作的变量共享。默认情况下,当Spark并行的运行一个作为不同节点上的任务的函数时,它将每一个函数中的变量给每份任务都拷贝一份。有时,一个变量需要在任务间共享,或是在任务和驱动程序间共享。Spark支持两种类型的共享变量:广泛散布的变量(可用在所有节点缓存上的数据)、累加器(只能执行“相加”),像计数器和加法。

原文地址:Seven Python Tools All Data Scientists Should Know How to Use

0
相关文章