十大最受欢迎机器学习Python库,建议收藏,过期不候

2023-06-18 0 573

AI的快速发展,让机器自学走向了颠峰,今天他们科孔一下最畅销的机器自学库(ML),希望你能在这儿寻找到你未来一两年内的“法宝”。

十大最受欢迎机器学习Python库,建议收藏,过期不候

Pipenv

Pipenv是去年底开放源码的用于管理倚赖项的非官方推荐辅助工具。Pipenv起初是由Kenneth Reitz创办的两个项目,意在将其他包命令行(如NPM或yarn)的创意设计资源整合至Python中。加装virtualenv和virtualenvwrapper,并保证倚赖项的倚赖项版的徐立全(在这儿阅读更多关于这点的信息)。采用Pipenv,你能选定大部份的倚赖关系,一般来说采用命令加进,删掉或预览倚赖项。该辅助工具能聚合两个文件,使得你的构筑是估值合理的,它能帮助你避免那些难以活捉的BUG。

PyTorch

去年Facebook推出的DLT架构PyTorch,在广度自学街道社区中很畅销。PyTorch是构筑在盛行的Torch架构其内,尤其是它是如前所述Python的。考虑到过去几年人们一直在采用Python展开数据学术研究,这也是广度自学库大部分是采用Python的原因。

最更为重要的是,PyTorch已经成为了众多研究人员的必选架构之一,即使它实现了新奇的动态排序图实例(Dynamic Computational Graph paradigm)。当采用TensorFlow,CNTK或MXNet等架构撰写标识符时,必须首先表述两个称作排序图的东西。该图选定了他们的标识符将运转的大部份操作方式,这些操作方式接著会被校对并被架构强化,以期能在GPU上博戈达运转得更快。那个实例被称作动态排序图,即使你能利用各种强化,所以那个绘图一旦投入使用,就能运转在不同的设备上。然而,在譬如语义处置等等的各项任务中,工作效率一般来说是气门的。在将影像提供给演算法之前,把影像调整为一般来说的解析度,但不能对气门宽度的语句展开相同的处置。这不可否认能体现PyTorch和动态图象的优势,通过阳光普照标识符中采用标准的Python并将结果,绘图将在执行时表述,给你更多位势,这对于几个各项任务来说是不可或缺的。

当然,PyTorch也会手动排序势能,并且速度非常快,所以是可扩充的。

Caffe2

这听起来可能不太现实,Facebook去年也发布了另两个的DL架构——caffe2。原来的Caffe架构已被广泛采用多年,并以非常不错的性能和经过测试的标识符库而闻名。然而,最近DL的趋势使那个架构在某些方面显得有些out。于是Caffe2就成为了它的替代品。

Caffe2支持分布式训练、部署,支持最新的CPU和CUDA的硬件。虽然PyTorch可能更适合研究,但Caffe2更适合大规模部署。其实,你能在PyTorch中构筑和训练模型,同时采用Caffe2展开部署!这不是很好吗?

Pendulum

去年,Arrow是两个意在使你更轻松,同时采用Python date time类进入了榜单,而去年是Pendulum。

Pendulum的优点之一是它是Python标准datetime类直接替代品,因此你能轻松地将其与现有标识符集成,并且只有在需要时才能采用其功能。作者特别注意保证时区能正确处置,默认情况下使每个实例时区感知自己的时区。你也将得到两个扩充timedelta,这样日期时间算术更容易。

Dash

如果你正在做数据科学,你可能会采用Python生态系统中的Pandas和scikit-learn等优秀的辅助工具。还能采用JupyterNotebook管理你的工作流程。但是,当你和那些不知道如何采用这些辅助工具的人一起做一项工作的时候,你该怎么办?你如何建立两个界面,使人们能轻松地玩转数据,并在整个过程中对其展开可视化?过去,你或许需要两个专业的JavaScript前端团队来构筑这些GUI。

Dash近几年发布的两个用于构筑Web应用程序的开放源码库,尤其是在纯Python语言中利用数据可视化的Web应用程序。它建立在Flask,Plotly.js和React 其内,并提供了接口,所以你不必自学这些架构也能展开高效的开发。如果你想了解更多关于Dash的有趣应用,点击那个地方。

PyFlux

Python中有许多库用于研究数据科学和ML,但是当你的数据是随着时间的推移而变化的度量(例如股票价格,仪器的测量值等等)时,这对于大部分库来说是两个比较棘手的问题。

PyFlux是两个专门为时间序列而开发的 Python开放源码库。时间序列研究是统计学和计量经济学的两个子领域,目标能描述时间序列如何表现(以潜在的因素或兴趣的特征来表示),也能借此预测未来的行为。

PyFlux允许采用时间序列建模,并且已经实现了像GARCH这样的现代时间序列模型。

Fire

一般来说情况下,你需要为你的项目制作命令行界面(CLI)。除了传统的argparse,Python还有一些这样的辅助工具,Clik和docopt。Fire是去年谷歌发布的软件库,在解决那个的问题上采用了不同的方法。

Fire是两个开放源码的库,能为任何Python项目手动聚合两个CLI,关键是手动,你几乎不需要撰写任何标识符或文档来构筑你的CLI!你只需要调用两个Fire方法并把它所需要构筑的传递给CLI。

如果你想对此有所深入了解,请阅读指南,即使那个库能为你节省很多时间。

Imbalanced-learn

在理想的情况下,他们会有完美平衡的数据集,但不幸的是,现实世界并不是这样的,某些各项任务拥有非常不平衡的数据。例如,在预测信用卡交易中的欺诈行为时,你预计绝大多数交易(99.9%)是合法的。天真地训练ML演算法会导致令人失望的性能,所以在处置这些类型的数据集时需要特别小心。

幸运的是,Imbalanced-learn是两个Python包,它提供了一些解决这类问题的方法,并提供一些技术的实现,它与scikit-learn兼容,是scikit-learn-contrib项目的一部分。

FlashText

如果你需要搜索某些文本并将其替换为其他内容(如大多数数据清理流程中),则一般来说会转为正则表达式。一般来说情况下,正则表达式考研完美的解决问题。但是有时会发生这样的情况:你需要搜索的术语数量是成千上万,然后,正则表达式可能变得非常缓慢。这时FlashText是两个更好的选择,它使整个操作方式的运转时间大大提高了(从5天到15分钟)。FlashText的优点在于无论搜索条件有多少,运转时都是一样的,而正则表达式中运转时将随着条件数几乎呈线性增长。

FlashText证明了演算法和数据结构设计的重要性,即使对于简单的问题,更好的演算法也能轻松超越最快的CPU。

Luminoth

现实生活中影像无处不在,理解其内容对于多个应用程序来说是至关重要的。值得庆幸的是,由于DL的发展,影像处置技术已经进步很多。

Luminoth是两个采用TensorFlow和Sonnet构筑的用于排序机视觉的开放源码Python辅助工具包。目前,它能支持被称作Faster R-CNN的模型的形式展开对象检测。

并且Luminoth不仅是两个特定模型的实现,而是建立在模块化和可扩充的基础上的,所以定制现有的部分或用新的模型来扩充它来处置不同的问题,就能能多地重用标识符。它提供了用于轻松完成构筑DL模型所需的工程工作如:将你的数据转换为用于提供数据管道(TensorFlow的记录)的格式,执行数据增强,在多个GPU训练,运转评估指标,在TensorBoard中可视化,并用简单的API或浏览器界面部署训练有素的模型,以期人们使用。

其他优秀的Python库:

PyVips

你可能从来没有听说过libvips库,首先它是两个影像处置库,如Pillow或ImageMagick,并支持多种格式。但是,与其他库相比,libvips速度更快,占用的内存也更少。PyVips是最近发布的用于libvips的Python绑定包,它与Python 2.7-3.6(甚至PyPy)兼容,易于采用pip。如果在你的应用程序中需要展开某种形式的影像处理,能考虑一下它。

Requestium

有时,你需要手动化网络中的某些操作方式,如抓取网站,展开应用程序测试,填写网页表单,要想在不暴露API的网站中执行操作方式,手动化是必需的。Python有很好的请求库,很多时间来调试。另两个选择是转向采用Selenium这样的库,它允许你以编程方式与Web浏览器交互并运转Javascript标识符。有了那个,问题就能解决了。

Requestium库能让你从请求开始并无缝地切换到采用Selenium,它能作为两个请求的直接替换。它还集成了Parsel,因此撰写大部份用于在页面中查找元素的选择器要比其它方式更加快捷。

skorch

假如你很喜欢采用scikit-learn的API,但是遇到了需要采用PyTorch来完成工作。不要担心,skorch是两个封装,能通过类似sklearn的接口提供PyTorch编程。如果你熟悉这些库,那么语法将很简单易懂。通过skorch,你会得到一些抽象的标识符,所以你能把更多的精力放在真正重要的事情上,比如做数据科学。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务