这9个鲜为人知的Python库,你用过几个?

Python是一种很棒的语言,它是世界上发展最快的编程语言之一。它一次又一次证明了自己在开发人员工作角色和跨行业的数据科学职位中的实用性。整个Python及其库的生态系统使其成为全世界用户(初学者和高级)的合适选择。其成功和普及的原因之一是其强大的库集使其如此动态和快速。

我们曾为大家分享过12种Python 机器学习 & 数据挖掘 工具包(附链接)

今天会为大家介绍9个鲜为人知的Python库(排名不分先后)

  • Wget

  • Pendulum 

  • imbalanced-learn  

  • FlashText  

  • Fuzzywuzzy 

  • PyFlux 

  • Ipyvolume 

  • Dash 

  • Gym 

01 Wget

网址:https://pypi.org/project/wget/

Wget是一个免费的实用程序,用于从Web上非交互式下载文件。它支持HTTP,HTTPS和FTP协议,以及通过HTTP代理进行检索。由于它是非交互式的,即使用户没有登录也可以在后台运行。因此,下次你想要从网页下载所有图像时,wget可以帮助你。

安装

$ pip install wget

示例:

import wget url = 'http://www.futurecrew.com/skaven/song_files/mp3/razorback.mp3'

filename = wget.download(url) 100% [................................................] 3841532 / 3841532

filename 'razorback.mp3'

02 Pendulum

网址:https://github.com/sdispater/pendulum

它是一个Python包,可以简化日期操作。它是Python本机类的直接替代品。

安装:

$ pip install pendulum

示例:

import pendulum

dt_toronto = pendulum.datetime(2012, 1, 1, tz='America/Toronto') dt_vancouver = pendulum.datetime(2012, 1, 1, tz='America/Vancouver')

print(dt_vancouver.diff(dt_toronto).in_hours())

3

03 imbalanced-learn

网址:https://github.com/scikit-learn-contrib/imbalanced-learn

可以看出,当每个类中的样本数几乎相同(即平衡)时,大多数分类算法效果最好。但是,现实生活中的案例中充满了不平衡的数据集,这些数据集可能会影响学习阶段和机器学习算法的后续预测。幸运的是,已创建此库解决该问题。它与scikit-learn兼容, 是scikit-learn-contrib项目的一部分。下次遇到不平衡数据集时可尝试一下。

安装:

pip install -U imbalanced-learn

# or

conda install -c conda-forge imbalanced-learn

04 FlashText

网址:https://github.com/vi3k6i5/flashtext

在NLP任务期间清理文本数据通常需要替换句子中的关键词或从句子中提取关键词。通常,这种操作可以用正则表达式完成,但如果要搜索的术语数量达到数千,则可能变得很麻烦。Python的FlashText模块基于FlashText算法,为这种情况提供了一种合适的替代方案。FlashText的最佳部分是运行时是相同的,而与搜索项的数量无关。

安装:

$ pip install flashtext

示例:

from flashtext import KeywordProcessor keyword_processor = KeywordProcessor()

# keyword_processor.add_keyword(<unclean name>, <standardised name>)

keyword_processor.add_keyword('Big Apple', 'New York') keyword_processor.add_keyword('Bay Area') keywords_found = keyword_processor.extract_keywords('I love Big Apple and Bay Area.')

keywords_found ['New York', 'Bay Area']

05 Fuzzywuzzy

网址:https://github.com/seatgeek/fuzzywuzzy

这个名字听起来很奇怪,但是当涉及字符串匹配时,fuzzywuzzy是一个非常有用的库。可以轻松实现字符串比较比率等操作,还可以方便地匹配保存在不同数据库中的记录。

安装:

$ pip install fuzzywuzzy

示例:

from fuzzywuzzy import fuzz from fuzzywuzzy import process

# Simple Ratio

fuzz.ratio("this is a test", "this is a test!") 97

# Partial Ratio fuzz.partial_ratio("this is a test", "this is a test!") 100

06 PyFlux

网址:https://github.com/RJT1990/pyflux

时间序列分析是机器学习领域中最常遇到的问题之一。PyFlux是Python中的一个开源库,专门用于处理时间序列问题。该库拥有一系列优秀的现代时间序列模型,包括但不限于ARIMA、GARCH和VAR模型。简而言之,PyFlux提供了一种时间序列建模的概率方法,值得一试。

安装:

pip install pyflux

07 Ipyvolume

网址:https://github.com/maartenbreddels/ipyvolume

沟通结果是数据科学的一个重要方面。能够可视化结果具有显著的优势。IPyvolume是一个Python库,用于在Jupyter笔记本中可视化3d体积和字形(例如3d散点图),只需最少的配置和精力。但是,它目前处于1.0之前的阶段。一个很好的比喻是这样的:IPyvolume的volshow是3d数组matplotlib的imshow是2d数组。

安装:

Using pip $ pip install ipyvolume

Conda/Anaconda $ conda install -c conda-forge ipyvolume

08 Dash

网址:https://github.com/plotly/dash

Dash是一个用于构建Web应用程序的高效Python框架。它写在Flask,Plotly.js和React.js之上,并将现有UI元素(如下拉列表,滑块和图形)与您的分析Python代码联系起来,而无需使用javascript。Dash非常适合构建数据可视化应用程序。然后,可以在Web浏览器中呈现这些应用程序。

安装:

pip install dash==0.29.0 # The core dash backend pip install dash-html-components==0.13.2 # HTML components pip install dash-core-components==0.36.0 # Supercharged components pip install dash-table==3.1.3 # Interactive DataTable component (new!)

09 Gym

网址:https://github.com/openai/gym

OpenAI的 Gym 是一个用于开发和比较强化学习算法的工具包。它与任何数值计算库兼容,如TensorFlow或Theano。The gym library必然是测试问题的集合,也称为环境 - 您可以使用它来计算强化学习算法,这些环境具有共享接口,允许您编写通用算法。

安装:

pip install gym

如果各位有推荐的Python库,也可以留言分享给我们。

信息来源:Medium

AMiner学术头条
AMiner学术头条

AMiner平台由清华大学计算机系研发,拥有我国完全自主知识产权。系统2006年上线,吸引了全球220个国家/地区800多万独立IP访问,数据下载量230万次,年度访问量1000万,成为学术搜索和社会网络挖掘研究的重要数据和实验平台。

https://www.aminer.cn/
专栏二维码
工程Python
7
相关数据
机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~