数据专家必知必会的 7 款 Python 工具

简介:

如果你有志于做一个数据专家,你就应该保持一颗好奇心,总是不断探索,学习,问各种问题。在线入门教程和视频教程能帮你走出第一步,但是最好的方式就是通过熟悉各种已经在生产环境中使用的工具而为成为一个真正的数据专家做好充分准备。

我咨询了我们真正的数据专家,收集整理了他们认为所有数据专家都应该会的七款 Python 工具。The Galvanize Data Science 和 GalvanizeU 课程注重让学生们花大量的时间沉浸在这些技术里。当你找第一份工作的时候,你曾经投入的时间而获得的对工具的深入理解将会使你有更大的优势。下面就了解它们一下吧:

IPython
IPython 是一个在多种编程语言之间进行交互计算的命令行 shell,最开始是用 python 开发的,提供增强的内省,富媒体,扩展的 shell 语法,tab 补全,丰富的历史等功能。IPython 提供了如下特性:

更强的交互 shell(基于 Qt 的终端)

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

支持交互数据可视化和图形界面工具

灵活,可嵌入解释器加载到任意一个自有工程里

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

GraphLab Greate

GraphLab Greate 是一个 Python 库,由 C++ 引擎支持,可以快速构建大型高性能数据产品。

这有一些关于 GraphLab Greate 的特点:

可以在您的计算机上以交互的速度分析以 T 为计量单位的数据量。

在单一平台上可以分析表格数据、曲线、文字、图像。

最新的机器学习算法包括深度学习,进化树和 factorization machines 理论。

可以用 Hadoop Yarn 或者 EC2 聚类在你的笔记本或者分布系统上运行同样的代码。

借助于灵活的 API 函数专注于任务或者机器学习。

在云上用预测服务便捷地配置数据产品。

为探索和产品监测创建可视化的数据。

Pandas

pandas 是一个开源的软件,它具有 BSD 的开源许可,为 Python 编程语言提供高性能,易用数据结构和数据分析工具。在数据改动和数据预处理方面,Python 早已名声显赫,但是在数据分析与建模方面,Python 是个短板。Pands 软件就填补了这个空白,能让你用 Python 方便地进行你所有数据的处理,而不用转而选择更主流的专业语言,例如 R 语言。

整合了劲爆的 IPyton 工具包和其他的库,它在 Python 中进行数据分析的开发环境在处理性能,速度,和兼容方面都性能卓越。Pands 不会执行重要的建模函数超出线性回归和面板回归;对于这些,参考 statsmodel 统计建模工具和 scikit-learn 库。为了把 Python 打造成顶级的统计建模分析环境,我们需要进一步努力,但是我们已经奋斗在这条路上了。

PuLP

线性编程是一种优化,其中一个对象函数被最大程度地限制了。PuLP 是一个用 Python 编写的线性编程模型。它能产生线性文件,能调用高度优化的求解器,GLPK,COIN CLP/CBC,CPLEX,和GUROBI,来求解这些线性问题。

Matplotlib
matplotlib 是基于 Python 的 2D(数据)绘图库,它产生(输出)出版级质量的图表,用于各种打印纸质的原件格式和跨平台的交互式环境。matplotlib 既可以用在 python 脚本, python 和 ipython 的 shell 界面 (ala MATLAB® 或 Mathematica®),web 应用服务器,和6类 GUI 工具箱。

matplotlib 尝试使容易事情变得更容易,使困难事情变为可能。你只需要少量几行代码,就可以生成图表,直方图,能量光谱(power spectra),柱状图,errorcharts,散点图(scatterplots)等,。

为简化数据绘图,pyplot 提供一个类 MATLAB 的接口界面,尤其是它与 IPython 共同使用时。对于高级用户,你可以完全定制包括线型,字体属性,坐标属性等,借助面向对象接口界面,或项 MATLAB 用户提供类似(MATLAB)的界面。

Scikit-Learn

Scikit-Learn 是一个简单有效地数据挖掘和数据分析工具(库)。关于最值得一提的是,它人人可用,重复用于多种语境。它基于 NumPy,SciPy 和 mathplotlib 等构建。Scikit 采用开源的 BSD 授权协议,同时也可用于商业。Scikit-Learn 具备如下特性:

分类(Classification) – 识别鉴定一个对象属于哪一类别

回归(Regression) – 预测对象关联的连续值属性

聚类(Clustering) – 类似对象自动分组集合

降维(Dimensionality Reduction) – 减少需要考虑的随机变量数量

模型选择(Model Selection) –比较、验证和选择参数和模型

预处理(Preprocessing) – 特征提取和规范化

Spark

Spark 由一个驱动程序构成,它运行用户的 main 函数并在聚类上执行多个并行操作。Spark 最吸引人的地方在于它提供的弹性分布数据集(RDD),那是一个按照聚类的节点进行分区的元素的集合,它可以在并行计算中使用。RDDs 可以从一个 Hadoop 文件系统中的文件(或者其他的 Hadoop 支持的文件系统的文件)来创建,或者是驱动程序中其他的已经存在的标量数据集合,把它进行变换。用户也许想要 Spark 在内存中永久保存 RDD,来通过并行操作有效地对 RDD 进行复用。最终,RDDs 无法从节点中自动复原。

Spark 中第二个吸引人的地方在并行操作中变量的共享。默认情况下,当 Spark 在并行情况下运行一个函数作为一组不同节点上的任务时,它把每一个函数中用到的变量拷贝一份送到每一任务。有时,一个变量需要被许多任务和驱动程序共享。Spark 支持两种方式的共享变量:广播变量,它可以用来在所有的节点上缓存数据。另一种方式是累加器,这是一种只能用作执行加法的变量,例如在计数器中和加法运算中。

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
5天前
|
数据可视化 数据挖掘 Python
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化(下)
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化
13 0
|
5天前
|
数据可视化 API 开发者
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化(上)
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化
16 0
|
5天前
|
机器学习/深度学习 数据可视化 安全
Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化(下)
Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化
14 1
|
5天前
|
机器学习/深度学习 数据可视化 Python
Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化(上)
Python随机森林、线性回归对COVID-19疫情、汇率数据预测死亡率、病例数、失业率影响可视化
19 0
|
5天前
|
机器学习/深度学习 边缘计算 TensorFlow
【Python机器学习专栏】Python机器学习工具与库的未来展望
【4月更文挑战第30天】本文探讨了Python在机器学习中的关键角色,重点介绍了Scikit-learn、TensorFlow和PyTorch等流行库。随着技术进步,未来Python机器学习工具将聚焦自动化、智能化、可解释性和可信赖性,并促进跨领域创新,结合云端与边缘计算,为各领域应用带来更高效、可靠的解决方案。
|
5天前
|
机器学习/深度学习 存储 数据采集
【Python 机器学习专栏】PCA(主成分分析)在数据降维中的应用
【4月更文挑战第30天】本文探讨了主成分分析(PCA)在高维数据降维中的应用。PCA通过线性变换找到最大化方差的主成分,从而降低数据维度,简化存储和计算,同时去除噪声。文章介绍了PCA的基本原理、步骤,强调了PCA在数据降维、可视化和特征提取上的优势,并提供了Python实现示例。PCA广泛应用在图像压缩、机器学习和数据分析等领域,但降维后可能损失解释性,需注意选择合适主成分数量及数据预处理。
|
5天前
|
vr&ar Python
Python自激励阈值自回归(SETAR)、ARMA、BDS检验、预测分析太阳黑子时间序列数据
Python自激励阈值自回归(SETAR)、ARMA、BDS检验、预测分析太阳黑子时间序列数据
11 0
|
5天前
|
Python
Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列数据|数据分享
Python随机波动性SV模型:贝叶斯推断马尔可夫链蒙特卡洛MCMC分析英镑/美元汇率时间序列数据|数据分享
10 0
|
5天前
|
机器学习/深度学习 Python
【Python机器学习专栏】时间序列数据的特征工程
【4月更文挑战第30天】本文探讨了时间序列数据的特征工程,强调其在捕捉季节性、揭示趋势、处理异常值和提升模型性能中的重要性。介绍了滞后特征、移动窗口统计特征、时间戳特征、频域特征和波动率特征等方法,并提供了Python实现示例。通过有效特征工程,可提高时间序列分析的准确性和预测可靠性。
|
5天前
|
机器学习/深度学习 计算机视觉 Python
【Python 机器学习专栏】图像数据的特征提取与预处理
【4月更文挑战第30天】本文探讨了图像数据的特征提取与预处理在机器学习中的重要性。图像数据具有大容量、信息丰富和冗余性高的特点。特征提取涉及颜色、纹理和形状特征;预处理包括图像增强、去噪和分割。Python的OpenCV和Scikit-image库在处理这些任务时非常有用。常见的特征提取方法有统计、变换和基于模型的方法,而预处理应注意保持图像真实性、适应性调整及验证评估。有效的特征提取和预处理能提升模型性能,Python工具使其更高效。