目前,Python已经超越了许多编程语言,成为三大编程语言之一,而且在热门的机器学习领域,Python也是最常用的语言之一。之所以在机器学习领域有着优异的表现,得益于Python拥有大量与机器学习相关的库,这篇文章为大家介绍10个Python机器学习库,看看你用过几个?
1.Pipenv
Pipenv是Kenneth Reitz的业余项目,旨在将其他软件包整合到Python里。它不需要安装virtualenv, virtualenvwrapper,不用管理requirements.txt文件,并且不用确保依赖版本的可复现性。通过Pipenv,你可以在Pipfile中指定依赖项。该工具可生成一个Pipfile.lock文件,使你的构建更具确定性,避免产生难以查找的Bug。
2.PyTorch
PyTorch是Facebook深度学习框架,源于Torch框架,同时改善了Torch框架,基于python语言,由于实现了动态计算图范式,PyTorch已经成为众多研究人员的首选框架之一,可以计算梯度,而且非常快,可扩展性强。
3.Caffe2
Caffe2支持分布式训练、部署,新的CPU和支持CUDA的硬件。PyTorch可能更适合做研究,而Caffe2更加适合大规模部署,就像在Facebook上看到的那样。另外,你可以在PyTorch里构建并训练模型,同时用Caffe2部署。
4.Pendulum
Pendulum的优势之一在于,它是Python标准datetime替代品,因此你可以轻松地将其与现有的代码集成,并且在你需要的时候才使用它的功能。Pendulum的作者特别注意时间分区的处理,默认在每个实例中时间分区是可用的,并且以UTC计时。你也可以获得扩展timedelta来简化datetime的计算。
5.Dash
Dash是一个可构建Web应用,尤其是数据可视化Web应用的纯Python开源库。它建立在Flask、Plotly和 React之上,并提供这几个框架的函数抽象接口,从而开发者不必学习这些框架,高效开发。这些应用程序可在浏览器和移动设备中使用。
6.PyFlux
PyFlux是专门针对时间序列开发的Python开源库。时间序列研究是统计学和经济学的子领域,其目的是用于描述时间序列的行为,同时也预测时序未来的行为状态。
7.Fire
Fire是一个开源库,可以为任何Python项目自动生成一个命令行界面。你几乎不需要编写任何代码或者文档,你只需要调用一个Fire方法并把它传递给你想要的命令行界面:一个函数、一个对象、一个类、一个库,甚至不传递任何参数。
8.imbalanced-learn
imbalanced-learn是一个Python库,它提供了相关的技术来解决数据不平衡的问题。另外,它和scikit-learn兼容,并且是scikit-learn-contrib项目的一部分,非常有用。
9.FlashText
FlashText证明了算法和数据结构设计的重要性,即使对于简单的问题,更好的算法也能够轻松超越在快 CPU上运行的朴素实现。
10.Luminoth
Luminoth是一个用TensorFlow和Sonnet构建的开源的计算机视觉Python工具包。它可直接支持物体检测,背后支持的模型是Faster R-CNN。