动态数据科学的这三剑客几乎无人不知无人不晓:Numpy,Pandas和Matplotlib。你可能已经熟悉这些包以及它们的运作方式。
还有其他很炫酷的包,你肯定也想试一试,例如Plotly,Seaborne,Scikit-Learn,Tensorflow和Pytorch等等。它们都很好,还有数百万个用于Python机器学习的软件包,其中有些未受到重视,甚至有些完全不为人知的!
本文就带大家认识一下这些沧海遗珠。
1.Gleam
Gleam可能很多人没有听说过,它是一个很棒的工具,用于创建带有页面、面板和按钮的交互式可视化项目。这些交互式Web可视化也完全与Web集成在一起,这意味着可以将它们放到网站到端点的任何地方。Gleam使用wtforms进行交互,可以使用任何的不同可视化工具来实际显示数据。
如果想要一个很酷的交互式窗格,基本上可以使用任何图形库,那么Gleam是你的优秀选择。
2.Table
放着pandas不用,为什么要去用Table呢?这当然是一个可行的方法。Table包使得该列表轻松成为pandas的轻量级替代品,使用Table.py读取庞大的数据集要比使用Pandas.py容易得多。总体而言,在某些情况下它可能更合适。
- import pandas as pd
3.Mlpy
Mlpy为监督和无监督学习提供了大量比较先进的机器学习方法。与同类产品不同,它旨在为数据科学提供一种多合一的方法。虽然有点过时,但对于快速增长的Python机器学习包来说无疑是一个很好的起步,它的易用性、有趣的算法和包容性是比较大的亮点。
Mlpy试图创建一种能平衡重现性、模块化和效率的包。该包在这方面取得了成功,因为尽管许多同类包的更新频率更高,而且肯定是行业标准,但许多此类想法似乎在编译中丢失了。因为这些都是由成千上万的开发人员以C语言编写的庞大的包,但这可能也是使用它们的缺点所在。
4.Shogun
Shogun是一个用C++编写的机器学习库,恰巧拥有Python端口。Shogun的一大优点是,它可用于多种不同的编程语言,并且相对统一。学习Shogun,你可以将所学知识应用于支持的任何其他语言。
Shortgun拥有广泛的前沿机器学习算法,它也是开源的,并且根据GNU(自由软件基金会)通用许可发行,这是一个加分项。
5.OpenCV
OpenCV最初是由Intel开发的。尽管是Intel的独家包,但它是开源的,并根据FreeBSD许可证发布。OpenCV非常优秀的一点是,它着重于实时计算机视觉,与Shogun一样,OpenCV最初是用C++编写的,但是具有Python和其他语言的接口。
说实话,这五个包还不够普及,对它们的评价也很鲜见。这些软件包确实很酷,但可以肯定,还有数百个甚至数千个其他很酷的模块可以添加到Pip环境中,这些模块也很棒却鲜为人知。
Python有一个完善的生态系统和许多可挖掘的包,这正是它如此强大的原因。不断学习新模块,也能让你保持头脑活跃。