天天看点

2017年十大最受欢迎机器学习Python库

每年的十二月是每个人review过去一年成就的时候,在看自己成就的同时,也同时为未来做好打算。对于程序员来说,十二月通常是回顾今年发布的开源库或者是最近流行的开源库,因为它们是在未来一段时间内解决我们问题的绝佳工具。

2017年十大最受欢迎机器学习Python库

AI的快速发展,让机器学习走向了巅峰,今天我们就借此盘点一下2017年最受欢迎的机器学习库(ML),希望你能够在这里寻找到你未来一段时间内的“利器”。

今年Facebook推出的DLT框架PyTorch,在深度学习社区中很受欢迎。PyTorch是构建在流行的Torch框架之上,尤其是它是基于Python的。考虑到过去几年人们一直在使用Python进行数据科学研究,这也是深度学习库大部分是使用Python的原因。

最值得注意的是,PyTorch已经成为了众多研究人员的首选框架之一,因为它实现了新颖的动态计算图范例(Dynamic

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

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

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

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

<b>7. </b><b>Fire</b><b></b>

Fire是一个开源的库,可以为任何Python项目自动生成一个CLI,关键是自动,你几乎不需要编写任何代码或文档来构建你的CLI!你只需要调用一个Fire方法并把它所需要构建的传递给CLI。

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

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

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

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

<b>其他优秀的</b><b>Python</b><b>库:</b><b></b>

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

文章原标题《top-10-python-libraries-of-2017》,

作者:Alan Descoins  博客地址:https://tryolabs.com/blog/authors/alan-descoins/

译者:虎说八道,审阅: