我最近遇到的 6 个很酷的 Python 库

源节点: 1068196

我最近遇到的 6 个很酷的 Python 库

查看这些用于机器学习的很棒的 Python 库。


By 迪利普(Dhilip Subramanian),数据科学家和AI爱好者

图片

Python 是机器学习不可或缺的一部分,而库让我们的生活变得更简单。 最近,我在处理我的 ML 项目时遇到了 6 个很棒的库。 他们帮我节省了很多时间,我将在这个博客中讨论他们。

1. 纯文本

 
 
一个真正令人难以置信的库,当您需要处理抓取或社交媒体数据时,纯文本应该是您的首选。 它最酷的地方在于它不需要任何冗长的花哨代码或正则表达式来清理我们的数据。 让我们看一些例子:

装置

!pip install cleantext

例如:

#Importing the clean text library
from cleantext import clean# Sample texttext = """ Zürich, largest city of Switzerland and capital of the canton of 633Zürich. Located in an Alu017eupine. (https://google.com). Currency is not ₹"""# Cleaning the "text" with clean textclean(text, fix_unicode=True, to_ascii=True, lower=True, no_urls=True, no_numbers=True, no_digits=True, no_currency_symbols=True, no_punct=True, replace_with_punct=" ", replace_with_url="", replace_with_number="", replace_with_digit=" ", replace_with_currency_symbol="Rupees")

输出



从上面,我们可以看到它在 Zurich 单词中包含 Unicode(字母 'u' 已被编码)、ASCII 字符(在 Alu017eupine 中)、卢比中的货币符号、HTML 链接、标点符号。

您只需在 clean 函数中提及所需的 ASCII、Unicode、URL、数字、货币和标点符号。 或者,可以用上述函数中的替换参数替换它们。 例如,我将卢比符号更改为卢比。

绝对不需要使用正则表达式或长代码。 非常方便的库,特别是如果您想从抓取或社交媒体数据中清除文本。 根据您的要求,您还可以单独传递参数,而不是将它们全部组合起来。

有关更多详细信息,请查看此 GitHub存储库.

2.绘制数据

 
 
Drawdata 是我发现的另一个很酷的 python 库。 您有多少次遇到需要向团队解释 ML 概念的情况? 它必须经常发生,因为数据科学就是团队合作。 该库可帮助您在 Jupyter 笔记本中绘制数据集。
就个人而言,当我向我的团队解释 ML 概念时,我真的很喜欢使用这个库。 向创建这个库的开发人员致敬!

Drawdata 只针对四类的分类问题。

装置

!pip install drawdata

例如:

# Importing the drawdata from drawdata import draw_scatterdraw_scatter()

输出



图片由作者提供

 

执行 draw_Scatter() 后会打开上述绘图窗口。 显然,有四个类,即 A、B、C 和 D。您可以单击任何类并绘制您想要的点。 每个类代表绘图中的不同颜色。 您还可以选择将数据下载为 csv 或 json 文件。 此外,可以将数据复制到剪贴板并从以下代码中读取

#Reading the clipboardimport pandas as pd df = pd.read_clipboard(sep=",")
df

这个库的一个限制是它只给出了四个类的两个数据点。 但除此之外,这绝对是值得的。 有关更多详细信息,请查看此 GitHub 链接.

3.自动可视化

 
 
我永远不会忘记使用 matplotlib 进行探索性数据分析所花费的时间。 有许多简单的可视化库。 然而,我最近发现了 Autoviz,它可以用一行代码自动可视化任何数据集。

装置

!pip install autoviz

例如:

我在这个例子中使用了 IRIS 数据集。

# Importing Autoviz class from the autoviz library
from autoviz.AutoViz_Class import AutoViz_Class#Initialize the Autoviz class in a object called df
df = AutoViz_Class()# Using Iris Dataset and passing to the default parametersfilename = "Iris.csv"
sep = ","graph = df.AutoViz( filename, sep=",", depVar="", dfte=None, header=0, verbose=0, lowess=False, chart_format="svg", max_rows_analyzed=150000, max_cols_analyzed=30,
)

以上参数为默认参数。 欲了解更多信息,请查看 相关信息.

输出



图片由作者提供

 

我们可以看到所有的视觉效果并用一行代码完成我们的 EDA。 有很多自动可视化库,但我真的很喜欢熟悉这个库。

4.水户

 
 
每个人都喜欢 Excel,对吧? 这是在第一个实例中探索数据集的最简单方法之一。 几个月前我遇到了水户,但最近才尝试过,我非常喜欢它!

它是一个带有 GUI 支持的 Jupyter-lab 扩展 python 库,它添加了电子表格功能。 您可以加载 csv 数据并将数据集编辑为电子表格,它会自动生成 Pandas 代码。 很酷。

水户真的值得一整篇博文。 不过,我今天不会详细介绍。 这是一个简单的任务演示。 更多详情,请查看 相关信息.

装置

#First install mitoinstaller in the command prompt
pip install mitoinstaller# Then, run the installer in the command prompt
python -m mitoinstaller install# Then, launch Jupyter lab or jupyter notebook from the command prompt
python -m jupyter lab

有关安装的更多信息,请查看 相关信息.

# Importing mitosheet and ruuning this in Jupyter labimport mitosheet
mitosheet.sheet()

执行上述代码后,mitosheet 会在 jupyter 实验室中打开。 我正在使用 IRIS 数据集。 首先,我创建了两个新列。 一个是平均萼片长度,另一个是总萼片宽度。 其次,我更改了平均萼片长度的列名。 最后,我为平均萼片长度列创建了一个直方图。

执行上述步骤后,代码会自动生成。

输出



图片由作者提供

 

为上述步骤生成了以下代码:

from mitosheet import * # Import necessary functions from Mito
register_analysis('UUID-119387c0-fc9b-4b04-9053-802c0d428285') # Let Mito know which analysis is being run# Imported C:UsersDhilipDownloadsarchive (29)Iris.csv
import pandas as pd
Iris_csv = pd.read_csv('C:UsersDhilipDownloadsarchive (29)Iris.csv')# Added column G to Iris_csv
Iris_csv.insert(6, 'G', 0)# Set G in Iris_csv to =AVG(SepalLengthCm)
Iris_csv['G'] = AVG(Iris_csv['SepalLengthCm'])# Renamed G to Avg_Sepal in Iris_csv
Iris_csv.rename(columns={"G": "Avg_Sepal"}, inplace=True)

5. 语法生成器

 
 
另一个令人印象深刻的库,Gramformer 基于生成模型,可以帮助我们纠正句子中的语法。 这个库有三个模型,它们有一个 检测器、荧光笔和校正器. 检测器识别文本是否有不正确的语法。 荧光笔标记错误的词性,校正器修复错误。 Gramformer 是一个完全开源的并且处于早期阶段。 但它不适合长段落,因为它仅适用于句子级别,并且已经针对 64 个长度的句子进行了训练。

目前,校正器和荧光笔模型有效。 让我们看一些例子。

装置

!pip3 install -U git+https://github.com/PrithivirajDamodaran/Gramformer.git

实例化 Gramformer

gf = Gramformer(models = 1, use_gpu = False) # 1=corrector, 2=detector (presently model 1 is working, 2 has not implemented)



例如:

#Giving sample text for correction under gf.correctgf.correct(""" New Zealand is island countrys in southwestern Paciific Ocaen. Country population was 5 million """)

输出



图片由作者提供

 

从上面的输出中,我们可以看到它纠正了语法甚至拼写错误。 一个非常棒的库,功能也非常好。 我没有在这里尝试过荧光笔,您可以尝试查看此 GitHub 文档以获取更多信息 详情.

6. 造型师

 
 
我对 Gramformer 的积极体验鼓励我寻找更多独特的库。 这就是我找到 Styleformer 的方式,这是另一个非常吸引人的 Python 库。 Gramformer 和 Styleformer 都是由 Prithiviraj Damodaran 创建的,并且都基于生成模型。 感谢创建者开源它。

Styleformer 帮助将随意句转化为正式句、正式句转化为休闲句、主动句转化为被动句、被动句转化为主动句。

让我们看一些例子

装置

!pip install git+https://github.com/PrithivirajDamodaran/Styleformer.git

实例化 Styleformer

sf = Styleformer(style = 0)# style = [0=Casual to Formal, 1=Formal to Casual, 2=Active to Passive, 3=Passive to Active etc..]

国际私人包机价格项目范例

# Converting casual to formal sf.transfer("I gotta go")



# Formal to casual sf = Styleformer(style = 1) # 1 -> Formal to casual# Converting formal to casual
sf.transfer("Please leave this place")



# Active to Passive sf = Styleformer(style = 2) # 2-> Active to Passive# Converting active to passive
sf.transfer("We are going to watch a movie tonight.")



# passive to active
sf = Styleformer(style = 2) # 2-> Active to Passive# Converting passive to active
sf.transfer("Tenants are protected by leases")



看上面的输出,它转换准确。 我使用这个库将休闲转换为正式,尤其是在我的一项分析中用于社交媒体帖子。 欲知更多详情,请查看 GitHub上.

您可能熟悉前面提到的一些库,但像 Gramformer 和 Styleformer 这样的库是最近才出现的。 它们被严重低估了,当然值得知道,因为它们节省了我很多时间,而且我在 NLP 项目中大量使用它们。

谢谢阅读。 如果您有什么要补充的,请随时发表评论!

你可能还喜欢我之前的文章 五个面向数据科学的酷Python库

 
简介: 迪利普(Dhilip Subramanian) 是一名机械工程师,并已完成分析学硕士学位。 他在与数据相关的各个领域(包括IT,市场营销,银行业务,电力和制造)拥有9年的专业经验。 他对NLP和机器学习充满热情。 他是 SAS社区 并且喜欢在Medium平台上撰写有关数据科学各个方面的技术文章。

原版。 经许可重新发布。

相关新闻:

来源:https://www.kdnuggets.com/2021/09/6-cool-python-libraries-recently.html

时间戳记:

更多来自 掘金队