|
|
51CTO旗下网站
|
|
移动端

安排上!数据科学中必须了解的Python基础库

正在学习数据科学的你希望快刀斩乱麻解决其中的一些问题吗?那我们果断要把目光投向Python。

作者:读芯术来源:今日头条|2019-11-26 09:05

 

正在学习数据科学的你希望快刀斩乱麻解决其中的一些问题吗?那我们果断要把目光投向Python。

安排上!数据科学中必须了解的Python基础库

本文将介绍一些基础的数据科学库,学会之后你也可以6到飞起。

核心库

Python有三个核心数据科学库,在此基础上还创建了许多其他的库。这三个核心数据科学库分别为:

  • Numpy
  • Scipy
  • Matplotlib

简单起见,可以把Numpy视为首选数组。Numpy数组在许多方面都与标准Python列表不同,但有几点需要记住,那就是Numpy数组比标准Python列表运算速度更快、所占空间更少、功能更多。但同时也需注意,这些数组的大小和类型是固定的,可以在创建数组时进行定义。同时,它不像列表那样可以无限添加新值。

Scipy在Numpy的基础上,提供了许多优化、统计和线性代数处理等功能。虽然Numpy也有类似的功能,但个人更喜欢Scipy的功能。想要计算相关系数或创建一些正态分布数据吗?Scipy简直就是为你量身定制的。

和其他数据科学库相比,Matplotlib可能略逊一筹,但它是Python中绘图的核心库。功能强大,可以在需要时进行有效控制。

第二代库

核心库非常棒,也很常用。不过,还有三个基于核心库的第二代库,它们提供的功能更多,使用的代码更少。

如果你一直在学习数据科学却没听说过Scikit-learn,那我也无话可说。Scikit-learn是Python中的机器学习库。它拥有强大的社区支持、归档功能和一个统一且容易使用的API。该库专注于“核心”机器学习,包括结构化数据的回归、分类和聚类。但它并不能用于深度学习或贝叶斯机器学习等方面。

Pandas的创建是为了简化Python中的数据分析。Pandas让加载结构化数据、计算统计数据、切割数据变得非常容易。在数据挖掘和分析阶段,它是一个不可或缺的工具。但个人不建议在数据生成阶段使用Pandas,因为它通常无法很好地扩展到大型数据集。不过可以将Pandas代码转换为原始的Numpy数组,这可以显著提高数据生产的速度。

尽管Matplotlib不是可视化最好看的,但是Seaborn 可以很容易创建出漂亮的可视化数据。Seaborn是基于Matplotlib创建的,因此仍然可以使用Matplotlib功能增加或编辑Seaborn图表。它还使复杂图表类型的创建变得更加容易。看看下面的图片,可以找到一些灵感:

深度学习

随着深度学习的迅速发展,不说一说该领域中较好的Python包是不明智的。

本人是Pytorch的铁杆粉丝。如果想在学习数据科学库的同时开始深度学习,从而让很先进的深度学习算法变得相对容易,那么Pytorch是不二之选。Pytorch正逐渐成为研究和实现大量功能的标准深度学习库,使其在数据生成用例中愈加完善。这些实例也提供了许多很好的入门教程 。

个人看来,Keras 是第一个真正让深度学习变得触手可及的数据科学库。你可以用10行非常容易阅读和理解的代码来创建并训练一个深度学习模型。但它的缺点是,高层次的抽象很难实现Keras当前不支持的新研究(尽管他们正在该领域上不断改进)。它同时还支持多个后端,即Tensorflow和CNTK。

Tensorflow 是由谷歌创建的,为深度学习的生产提供了很强大的支持。个人看来,最初版本的Tensorflow相当笨拙,但是他们学到了很多东西,Tensorflow 2.0让深度学习的门槛变得越来越低。当Pytorch为深度学习提供更多的生产支持时,Tensorflow则大大提高了深度学习的可用性。

统计

我想以Python中的两大统计模型库结束全文。

如果你用过R,你可能会困惑为什么Scikit-learn没有在计算回归系数时给出p值。如果是这样,你需要看一下statsmodels。个人看来,statsmodels对统计模型和测试提供了很好的支持,甚至还支持很多R语法。

概率编程和建模非常有趣。如果你不熟悉这个领域,可以查看黑客的贝叶斯方法,也可以使用PyMC3。PyMC3让定义的概率模型变得非常直观,并给许多先进的模型提供许多支持。

飞起来

在我之前,无人相信Python中还有许多令人惊艳的数据科学库。而本文的目的就是关注最基础的数据科学库。有了Python和这些出色的数据科学库,你会对自己可以取得的成就惊叹不已。我希望本文能够成为你涉足数据科学的一个很好的起点,而这也仅是你即将发现所有令人惊艳的数据科学库的开始。

【编辑推荐】

  1. 代码详解:如何用Python快速制作美观、炫酷且有深度的图表
  2. 56岁潘石屹下决心学Python,60岁程序语言之父们还在敲代码,你呢
  3. Python实用技巧大任务切分
  4. 你可能不知道的Python装饰器
  5. 还在撸Python3.7,Python3.9新鲜出炉,带你尝鲜解读
【责任编辑:华轩 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

骨干网与数据中心建设案例

骨干网与数据中心建设案例

高级网工必会
共20章 | 捷哥CCIE

410人订阅学习

中间件安全防护攻略

中间件安全防护攻略

4类安全防护
共4章 | hack_man

152人订阅学习

CentOS 8 全新学习术

CentOS 8 全新学习术

CentOS 8 正式发布
共16章 | UbuntuServer

291人订阅学习

读 书 +更多

SQL Server 2005数据挖掘与商业智能完全解决方案

本书以BI解决方案的体系结构为中心,以SQL Server 2005为载体,将着眼点放在数据挖掘和商业智能上,详细讲解了数据报表、数据分析和数据挖...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微