Python数据科学“冷门”库

论坛 期权论坛 期权     
AI开发者   2019-7-28 23:29   3311   0

原标题 |  Lesser Known Python Libraries for Data Science
作者 |  Parul Pandey
译者 |  CONFIDANT(福建师范大学)、Seabiscuit、唐里、david95(研发工程师)
注:本文的相关链接请访问文末【阅读原文】


图源:Unsplash上的Hitesh Choudhary
Python是一门神奇的语言。事实上,它是世界上发展最快的编程语言之一。它已经一次又一次地证明了它在跨行业的开发人员职位和数据科学职位上的实用性。Python的整个生态系统及其库使其成为全世界用户(初学者和高级用户)的最佳选择。它的成功和流行的原因之一是它的健壮库集的存在,这些库使它能够做到非常动态和快速。
在本文中,我们将研究一些用于数据科学任务的Python库,而不是常用的Python库,如panda、scikit-learn、matplotlib等。虽然像panda和scikit-learn这样的库是机器学习任务的默认名称,但是了解这个领域中的其他 python 应用总是好的。
[h1]  Wget[/h1]抽取数据特别是从网络上爬取数据是数据科学家的一项重要任务。Wget是一个免费的实用的从网上下载文件的非交互式的命令行工具。它支持HTTP,HTTPS和FTP协议,同时也支持通过HTTP代理进行检索。因为它是非交互式的,所以它可以在即使没有登录的情况下也能工作。所以下次你想下载一个网页或者是从网页中下载图片,Wget可以帮助你。
安装:
  1. $ pip install wget
复制代码
例子:



[h1]  Pendulum[/h1]对于那些处理日期时间数据而感到沮丧的人来说,Pendulum就是为这些人准备的。这是一个为减轻日期和时间操作设计的Python包。它是Python内置的类的一个替代。需要深入工作可以参考文档:https://pendulum.eustace.io/docs/#installation
安装:
  1. $ pip install pendulum
复制代码
例子:



[h1]  imbalanced-learn[/h1]可以看出,大多数分类算法在每个类的样本数量几乎相同的情况下,即平衡状态下,分类效果最好。但现实生活中存在大量的不平衡数据集,这些数据集对机器学习算法的学习阶段和后续预测都有一定的影响。幸运的是,创建这个库是为了解决这个问题。它与scikit-learn兼容,是scikit-learn-contrib项目的一部分。下次遇到不平衡的数据集时,可以尝试一下。
安装:
  1. pip install -U imbalanced-learn
复制代码
  1. # or
复制代码
  1. conda install -c conda-forge imbalanced-learn
复制代码
有关用法和示例,请参考文档:
http://imbalanced-learn.org/en/stable/api.html

[h1]  FlashText[/h1]在NLP任务中清理文本数据通常需要替换句子中的关键字或从句子中提取关键字。通常,这类操作可以使用正则表达式来完成,但是如果要搜索的术语数达到数千,就会变得很麻烦。Python的FlashText模块基于FlashText算法,为这种情况提供了一个合适的替代方案。FlashText最好的地方在于,无论搜索项的数量如何,运行时都是相同的。
安装:
  1. $ pip install flashtext
复制代码
例子:
提取关键字


替换关键字


有关更多使用示例,请参考官方文档:
https://flashtext.readthedocs.io/en/latest/#

[h1]  Fuzzywuzzy[/h1]这个名字听起来有点奇怪,但是fuzzywuzzy是一个很有用的用于字符串匹配的库。可以用它轻松的实现例如字符串比较比例、单词比例。它还可以很容易的用于匹配记录,即使他们是在不同的数据库的。
安装:
  1. $ pip install fuzzywuzzy
复制代码
例子:
  1. from fuzzywuzzy import fuzz
复制代码
  1. from fuzzywuzzy import process
复制代码
  1. # Simple Ratio
复制代码
  1. fuzz.ratio("this is a test", "this is a test!")
复制代码
  1. 97
复制代码
  1. # Partial Ratio
复制代码
  1. fuzz.partial_ratio("this is a test", "this is a test!")
复制代码
  1. 100
复制代码
更多有趣的例子,可以访问这里:
https://github.com/seatgeek/fuzzywuzzy

[h1]  PyFlux[/h1]时间序列分析是机器学习领域最经常遇到的问题之一。PyFlux就是专门针对时间序列问题设计的一个开源库。这个库有着优秀的时间序列模型,包含ARIMA、GARCH和VAR模型。总之,PyFlux提供了一个基于概率的方法来组织时序模型,很值得一试。
安装:
  1. pip install pyflux
复制代码
具体试用方法和例子,请参考文档:
https://pyflux.readthedocs.io/en/latest/index.html

[h1]  Ipyvolume[/h1]沟通结果是数据科学的一个重要方面。 能够将结果可视化是一个显著的优势。Ipyvolume是一个Python库,用于在Jupyter笔记本中可视化3d体积和字形(例如3d散点图),并且配置和工作量的需求很少。但是,它目前处于测试阶段。一个很好的比喻:IPyvolume的volshow之于3d数组,就像matplotlib的imshow之于2d数组一样。你可以通过原文了解更多关于它的内容。
安装:
  1. Using pip
复制代码
  1. $ pip install ipyvolume
复制代码
  1. Conda/Anaconda
复制代码
  1. $ conda install -c conda-forge ipyvolume
复制代码
例子:
  • 动图


  • 体绘图



[h1]  Dash[/h1]Dash是一个用于构建web应用程序的高效Python框架。它写在Flask上,
Plotly.js和response .js以及下拉菜单、滑块和图形等现代UI元素会绑定到您的分析Python代码中,而不需要javascript。Dash非常适合构建数据可视化应用程序。然后可以在web浏览器中呈现这些应用程序。用户指南可以在这里访问。
安装:


例子:
下面的示例展示了一个具有下拉功能的高度交互式图。当用户在下拉菜单中选择一个值时,应用程序代码将动态地将数据从谷歌Finance导出到panda DataFrame中。



[h1]  Gym[/h1]来自OpenAI的Gym是一个开发和比较强化学习算法的工具箱。它兼容任何数值计算库,如TensorFlow或Theano。健身房图书馆必然是一个测试问题的集合,也称为环境——你可以用它来制定你的强化学习算法。这些环境有一个共享接口,允许您编写通用算法。
安装:
  1. pip install gym
复制代码
例子:
一个将要运行1000个CartPole-v0时间步长环境实例,每一步都会呈现其环境。


你可以通过下方链接了解其他环境:
https://gym.openai.com/

[h1]  结论[/h1]这些是我为数据科学选择的有用python库,而不是常见的如numpy、panda等。如果你知道还有哪些可以添加到列表中的,请评论中告知我。
最后,别忘了试一试!
本文编辑:王立鱼
英语原文:https://medium.com/analytics-vidhya/python-libraries-for-data-science-other-than-pandas-and-numpy-95da30568fad
想要继续查看该篇文章相关链接和参考文献?
点击底部【阅读原文】即可访问:
https://ai.yanxishe.com/page/TextTranslation/1224


点击 阅读原文,查看本文更多内容
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP