6 kul knjižnic Python, ki sem jih prišel pred kratkim

Izvorno vozlišče: 1068196

6 kul knjižnic Python, ki sem jih prišel pred kratkim

Oglejte si te odlične knjižnice Python za strojno učenje.


By Dhilip Subramanian, Data Scientist in ljubitelj AI

Image

Python je sestavni del strojnega učenja in knjižnice nam olajšajo življenje. Pred kratkim sem med delom na svojih projektih ML naletel na 6 odličnih knjižnic. Pomagali so mi prihraniti veliko časa in o njih bom razpravljal v tem blogu.

1. čisto besedilo

 
 
Resnično neverjetna knjižnica, čisto besedilo bi moralo biti vaša izbira, ko morate ravnati s strganjem ali podatki družbenih medijev. Najbolj kul pri njem je, da za čiščenje naših podatkov ne potrebuje nobene dolge modne kode ali regularnih izrazov. Oglejmo si nekaj primerov:

namestitev

!pip install cleantext

Primer

#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")

izhod



Iz zgornjega lahko vidimo, da ima Unicode v besedi Zurich (črka 'u' je bila kodirana), znake ASCII (v Alu017eupine.), simbol valute v rupiji, povezavo HTML, ločila.

Omeniti morate samo zahtevane ASCII, Unicode, URL-je, številke, valuto in ločila v čisti funkciji. Lahko pa jih zamenjate z zamenjavnimi parametri v zgornji funkciji. Simbol rupije sem na primer spremenil v rupije.

Popolnoma ni potrebe po uporabi regularnih izrazov ali dolgih kod. Zelo priročna knjižnica, še posebej, če želite očistiti besedila pred strganjem ali podatki družbenih medijev. Glede na vaše zahteve lahko posredujete argumente tudi posamično, namesto da bi jih združili vse.

Za več podrobnosti preverite to GitHub repozitorij.

2. izris podatkov

 
 
Drawdata je še ena moja kul knjižnica python. Kolikokrat ste naleteli na situacijo, ko morate ekipi razložiti koncepte ML? To se mora zgoditi pogosto, ker je podatkovna znanost povezana s timskim delom. Ta knjižnica vam pomaga narisati nabor podatkov v zvezku Jupyter.
Osebno sem zelo užival v uporabi te knjižnice, ko sem svoji ekipi razlagal koncepte ML. Pohvala razvijalcem, ki so ustvarili to knjižnico!

Drawdata je samo za problem klasifikacije s štirimi razredi.

namestitev

!pip install drawdata

Primer

# Importing the drawdata from drawdata import draw_scatterdraw_scatter()

izhod



Slika avtorja

 

Zgornja okna za risanje se bodo odprla po izvedbi funkcije draw_Scatter(). Jasno je, da obstajajo štirje razredi, in sicer A, B, C in D. Lahko kliknete kateri koli razred in narišete točke, ki jih želite. Vsak razred predstavlja različne barve na risbi. Imate tudi možnost prenosa podatkov kot datoteke csv ali json. Prav tako je mogoče podatke kopirati v odložišče in jih prebrati iz spodnje kode

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

Ena od omejitev te knjižnice je, da daje samo dve podatkovni točki s štirimi razredi. Sicer pa se vsekakor splača. Za več podrobnosti preverite to Povezava GitHub.

3. Avtoviz

 
 
Nikoli ne bom pozabil časa, ki sem ga porabil za raziskovalno analizo podatkov z uporabo matplotliba. Obstaja veliko preprostih knjižnic za vizualizacijo. Vendar sem pred kratkim izvedel za Autoviz, ki samodejno vizualizira kateri koli nabor podatkov z eno vrstico kode.

namestitev

!pip install autoviz

Primer

Za ta primer sem uporabil nabor podatkov 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,
)

Zgornji parametri so privzeti. Za več informacij preverite tukaj.

izhod



Slika avtorja

 

Vidimo lahko vse vizualne elemente in dokončamo naš EDA z eno samo vrstico kode. Obstaja veliko knjižnic za samodejno vizualizacijo, vendar sem se zelo rad seznanil s to.

4. Mito

 
 
Vsi imajo radi Excel, kajne? To je eden najpreprostejših načinov za raziskovanje nabora podatkov na prvi stopnji. Mito sem naletel pred nekaj meseci, vendar sem ga poskusil šele pred kratkim in bil mi je popolnoma všeč!

Je razširitvena knjižnica Jupyter-lab python s podporo GUI, ki dodaja funkcionalnost preglednic. Lahko naložite svoje podatke csv in uredite nabor podatkov kot preglednico, ki samodejno ustvari kodo Pandas. Zelo kul.

Mito si resnično zasluži celotno objavo na blogu. Vendar se danes ne bom spuščal v podrobnosti. Tukaj je preprosta predstavitev naloge za vas. Za več podrobnosti preverite tukaj.

namestitev

#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

Za več informacij o namestitvi preverite tukaj.

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

Po izvedbi zgornje kode se bo mitosheet odprl v laboratoriju Jupyter. Uporabljam nabor podatkov IRIS. Najprej sem ustvaril dva nova stolpca. Ena je povprečna dolžina čašnice, druga pa skupna širina čašnice. Drugič, spremenil sem ime stolpca za povprečno dolžino Sepala. Na koncu sem ustvaril histogram za stolpec povprečne dolžine Sepala.

Koda se samodejno ustvari, ko sledite zgornjim korakom.

izhod



Slika avtorja

 

Spodnja koda je bila ustvarjena za zgornje korake:

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. Gramotvornik

 
 
Še ena impresivna knjižnica, Gramformer, temelji na generativnih modelih, ki nam pomagajo popraviti slovnico v stavkih. Ta knjižnica ima tri modele, ki imajo a detektor, osvetljevalec in korektor. Detektor prepozna, ali ima besedilo slovnično napačno. Označevalnik označuje napačne dele govora, korektor pa popravlja napake. Gramformer je popolnoma odprtokoden in je v zgodnjih fazah. Vendar ni primeren za dolge odstavke, saj deluje samo na ravni stavka in je bil usposobljen za 64 dolgih stavkov.

Trenutno deluje model korektorja in osvetljevalca. Oglejmo si nekaj primerov.

namestitev

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

Instanciirajte Gramformer

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



Primer

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

izhod



Slika avtorja

 

Iz zgornjega rezultata lahko vidimo, da popravlja slovnične in celo črkovalne napake. Res neverjetna knjižnica in tudi zelo dobro deluje. Tukaj še nisem preizkusil označevalca, lahko poskusite in preverite to dokumentacijo GitHub za več Podrobnosti.

6. Oblikovalec sloga

 
 
Moja pozitivna izkušnja z Gramformerjem me je spodbudila k iskanju bolj edinstvenih knjižnic. Tako sem našel Styleformer, še eno zelo privlačno knjižnico Python. Tako Gramformer kot Styleformer je ustvaril Prithiviraj Damodaran in oba temeljita na generativnih modelih. Pohvala ustvarjalcu za odprto kodo.

Styleformer pomaga pretvoriti priložnostne v formalne stavke, formalne v priložnostne stavke, aktivne v pasivne in pasivne v aktivne stavke.

Oglejmo si nekaj primerov

namestitev

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

Ustvarite Styleformer

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

Primeri

# 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")



Glejte zgornji rezultat, pretvori natančno. To knjižnico sem uporabil za pretvorbo priložnostnih v formalne, zlasti za objave v družabnih medijih v eni od svojih analiz. Za več podrobnosti prosim preverite GitHub.

Morda ste seznanjeni z nekaterimi od prej omenjenih knjižnic, vendar so takšne, kot sta Gramformer in Styleformer, nedavno uporabljene. So zelo podcenjeni in si zagotovo zaslužijo, da jih poznamo, saj so mi prihranili veliko časa in sem jih močno uporabljal za svoje NLP projekte.

Hvala za branje. Če imate kaj dodati, vas prosimo, da pustite komentar!

Morda vam bo všeč tudi moj prejšnji članek Pet kul knjižnic Python za podatkovno znanost

 
Bio: Dhilip Subramanian je inženir strojništva in magistriral iz analitike. Ima 9 let izkušenj s specializacijo na različnih področjih, povezanih s podatki, vključno z IT, trženjem, bančništvom, energetiko in proizvodnjo. Navdušen je nad NLP in strojnim učenjem. Je sodelavec pri Skupnost SAS in rad piše tehnične članke o različnih vidikih znanosti o podatkih na platformi Medium.

prvotni. Poročeno z dovoljenjem.

Povezano:

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

Časovni žig:

Več od KDnuggets