数据科学家都应会使用的7款Python工具
如果你是一个有追求的数据科学家,你应该充满好奇心,常常探索、学习和提问。在线教程和视频可以作为初期的准备学习,但能够证明你已经做好准备成为一个数据科学家的最好方式是,你可以熟练的使用编程环境中各种所需的工具。
作 者询问了他们的数据科学专家,让他们列出了他们所认为的所有数据科学家都应该熟练使用的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无法自动从节点中复原。