加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

我近日偶遇的六个很酷的Python库

发布时间:2021-11-07 05:06:43 所属栏目:语言 来源:互联网
导读:Python是机器学习不可或缺的一部分,库让我们的生活更简单。最近,我在处理机器学习项目时遇到了6个很棒的库。它们帮我节省了大量时间,本文将介绍它们。 1. clean-text clean-text是真正很出色的库,如果您需要处理抓取内容或社交媒体数据,它应该是您的首
Python是机器学习不可或缺的一部分,库让我们的生活更简单。最近,我在处理机器学习项目时遇到了6个很棒的库。它们帮我节省了大量时间,本文将介绍它们。
 
1. clean-text
clean-text是真正很出色的库,如果您需要处理抓取内容或社交媒体数据,它应该是您的首选。最棒的是它不需要任何冗长的花哨代码或正则表达式来清理数据。不妨看几个例子:
 
安装
!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、数字、货币和标点符号。或者,可以将它们换成上述函数中的替换参数。比如说,我将卢比符号换成了Rupees。
 
绝对不需要使用正则表达式或长代码。非常方便的库,如果您想清理来自抓取内容或社交媒体数据的文本,尤为方便。您还可以根据要求单独传递参数,而不是将它们全部组合在一起。
 
欲了解更多详细信息,请查看该GitHub 存储库。
 
2. drawdata
drawdata是我发现的另一个很酷的Python库。需要向团队解释机器学习概念这种情形有多常见?肯定经常发生,因为数据科学注重团队合作。该库可帮助您在Jupyter笔记本中绘制数据集。
 
我向团队解释机器学习概念时,确实很喜欢使用这个库。感谢创建这个库的开发人员!
 
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. Autoviz
我永远不会忘记花在使用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. Mito
每个人都喜欢Excel,是不是?它是初次探索数据集的最简单方法之一。几个月前我遇到了Mito,但最近才试了试,我绝对爱不释手!
 
它是一个带GUI支持的Jupyter-lab扩展Python库,添加了电子表格功能。您可以加载 csv数据,将数据集作为电子表格来编辑,它可自动生成Pandas代码。很酷。
 
Mito值得写一篇完整的博文来介绍,但是今天不作详细介绍。这是为您提供的简单的任务演示。欲知更多详情,请查看此处。
 
安装
#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数据集。首先,我创建了两个新列。一个是Sepal平均长度,另一个是Sepal总宽度。其次,我更改了Sepal平均长度的列名。最后,我为Sepal平均长度列创建了一个直方图。
 
执行上述步骤后,代码会自动生成。
 
输出
 
 
为上述步骤生成以下代码:
 
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基于生成模型,可帮助我们纠正句子中的语法。这个库有三个模型,有检测器、荧光笔和校正器。检测器识别文本是否有错误的语法。荧光笔标记错误的部分,校正器修复错误。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. Styleformer
在使用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项目中大量使用它们。
 

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读