Podatkovna znanost

Top 10 knjižnic strojnega učenja za Python

Top 10 knjižnic strojnega učenja za Python

Kaj želite ustvariti? Pomembno vprašanje!

Prišli ste sem, da uporabljate strojno učenje (ML) . Ste dobro premislili, za kaj? Ko izberete knjižnico strojnega učenja, morate začeti s tem, kako jo boste uporabljali. Tudi če vas učenje samo zanima, razmislite, kje se uporablja strojno učenje in kaj je najbližje vašemu glavnemu zanimanju. Razmislite tudi, če se želite osredotočiti na to, da se kaj dogaja na vašem lokalnem računalniku, ali če želite svoje računalništvo razširiti na več strežnikov.

Na začetku začnite tako, da nekaj deluje.

Kje se uporablja strojno učenje

Najdete lahko veliko projektov, ki uporabljajo ML, pravzaprav toliko, da vsaka kategorija obsega strani. Kratka različica je "povsod", to ni res, toda začetek se sprašuje. Očitni so mehanizmi priporočil, prepoznavanje slik in zaznavanje neželene pošte. Ker že programirate v Pythonu, vas bo zanimala tudi programska oprema za dokončanje kode The Kite. To je Druga uporaba je odkrivanje napak pri ročnem vnosu podatkov, medicinski diagnostiki in vzdrževanju za večje tovarne in druge panoge

Knjižnice na kratko:

  1. Scikit-nauči se, Iz scikita; Rutine in knjižnice na vrhu NumPy, SciPy in Matplotlib. Ta knjižnica se neposredno opira na rutine v matematičnih knjižnicah, ki izvirajo iz Pythona. Scikit-learn namestite z običajnim upraviteljem paketov Python. Scikit-learn je majhen in ne podpira izračunov grafičnega procesorja, to vas morda zanima, vendar je zavestna izbira. Ta paket je manjši in lažji za začetek. V večjih okoliščinah še vedno deluje precej dobro, čeprav potrebujete druge pakete, če želite narediti velikanski grozd za izračune.
  2. Scikit-slika Posebno za slike! Scikit-image ima algoritme za analizo in manipulacijo slik. Z njim lahko popravite poškodovane slike ter manipulirate z barvo in drugimi atributi slike. Glavna ideja tega paketa je, da vse slike da na voljo NumPyju, tako da lahko nad njimi izvajate operacije kot ndarrays. Na ta način imate slike na voljo kot podatke za zagon poljubnih algoritmov.
  3. Shogun: Osnova C ++ z jasnimi vmesniki API za Python, Java, Scala itd. Za eksperimentiranje je na voljo veliko, morda večina algoritmov. Ta je zaradi učinkovitosti napisan v jeziku C ++, obstaja pa tudi način, da ga preizkusite v oblaku. Shogun uporablja SWIG za vmesnik s številnimi programskimi jeziki, vključno s Pythonom. Shogun pokriva večino algoritmov in se pogosto uporablja v akademskem svetu. Paket ima na voljo orodja na https: // www.shogun-toolbox.org.
  4. Spark MLlib: Je v glavnem za Javo, vendar je na voljo prek knjižnice NumPy za razvijalce Pythona. Spark MLlib je razvila skupina Apache, zato je namenjen porazdeljenim računalniškim okoljem in mora biti voden z mojstrom in delavci. To lahko storite v samostojnem načinu, toda resnična moč Sparka je zmožnost razporeditve opravil na več strojih. Porazdeljena narava Sparka je priljubljena pri številnih velikih podjetjih, kot so IBM, Amazon in Netflix. Glavni namen je izkopati "Big Data", kar pomeni vse tiste drobtine, ki jih pustite za seboj, ko brskate po internetu in kupujete. Če želite sodelovati s strojnim učenjem, je Spark MLlib dober kraj za začetek. Algoritmi, ki jih podpira, so razporejeni po celotnem obsegu. Če se lotevate hobi projekta, to morda ni najboljša ideja.
  5. H2O: Namenjen je poslovnim procesom, zato podpira napovedi za priporočila in preprečevanje goljufij. Posel, H20.ai je namenjen iskanju in analiziranju naborov podatkov iz porazdeljenih datotečnih sistemov. Lahko ga zaženete v večini običajnih operacijskih sistemov, vendar je glavni namen podpora sistemom v oblaku. Vključuje večino statističnih algoritmov, zato jih je mogoče uporabiti za večino projektov.
  6. Mahout: Izdelan je za porazdeljene algoritme strojnega učenja. Je del Apacheja zaradi porazdeljene narave izračunov. Ideja, ki stoji za Mahoutom, je, da matematiki uvedejo lastne algoritme. To ni za začetnike, če se šele učite, raje uporabite kaj drugega. Po tem se lahko Mahout poveže s številnimi zalednimi konci, tako da, ko ste ustvarili nekaj, poglejte, ali želite Mahout uporabiti za svojo čelno stran.
  7. Cloudera Oryx: Uporablja se predvsem za strojno učenje na podatkih v realnem času. Oryx 2 je arhitektura, ki nalaga vsa dela, da ustvari sistem, ki se lahko odzove na podatke v realnem času. Sloji delujejo tudi v različnih časovnih okvirih, s paketnim slojem, ki gradi osnovni model, in slojem hitrosti, ki model spremeni, ko prihajajo novi podatki. Oryx je zgrajen na vrhu Apache Spark in ustvarja celotno arhitekturo, ki implementira vse dele aplikacije.
  8. Theano: Theano je knjižnica Python, ki je integrirana z NumPy. To je najbližje Pythonu, ki ga lahko dobite. Ko uporabljate Theano, vam svetujemo, da namestite gcc. Razlog za to je, da lahko Theano zbere vašo kodo v najprimernejšo možno kodo. Čeprav je Python odličen, je v nekaterih primerih C hitrejši. Torej lahko Theano pretvori v C in prevede, tako da vaš program teče hitreje. Po želji lahko dodate podporo za GPU.
  9. Tensorflow: Tenzor v imenu kaže na matematični tenzor. Tak tenzor ima v matrici 'n' mest, vendar je tenzor večdimenzionalno polje. TensorFlow ima algoritme za izračun tenzorjev, od tod tudi ime, ki jih lahko pokličete iz Pythona. Vgrajen je v C in C ++, vendar ima prednji del za Python. To omogoča enostavno uporabo in hiter tek. Tensorflow se lahko izvaja na CPU, GPU ali distribuira prek omrežij, to doseže izvršilni mehanizem, ki deluje kot plast med kodo in procesorjem.
  10. Matplotlib: Ko boste naleteli na težavo, ki jo lahko rešite s strojnim učenjem, boste najverjetneje želeli vizualizirati svoje rezultate. Tu pride matplotlib. Zasnovan je tako, da prikazuje vrednosti vseh matematičnih grafov in se pogosto uporablja v akademskem svetu.

ZAKLJUČEK

Ta članek vam daje predstavo o tem, kaj je na voljo za programiranje v strojnem učenju. Če želite dobiti jasno sliko, kaj potrebujete, morate najprej pripraviti nekaj programov in si ogledati, kako delujejo. Šele ko boste vedeli, kako je mogoče kaj storiti, ne boste našli popolne rešitve za vaš naslednji projekt.

Kako prikazati prekrivanje zaslonskega menija v celozaslonskih aplikacijah in igrah za Linux
Igranje celozaslonskih iger ali uporaba aplikacij v celozaslonskem načinu brez motenj vam lahko odreže ustrezne sistemske informacije, ki so vidne na ...
Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...
Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...