Znanost o podacima

10 najboljih knjižnica za strojno učenje za Python

10 najboljih knjižnica za strojno učenje za Python

Što želite stvoriti? Važno pitanje!

Ovdje ste došli kako biste koristili strojno učenje (ML) . Jeste li dobro razmislili zašto? Kada odaberete knjižnicu za strojno učenje, morate započeti s načinom na koji ćete je koristiti. Čak i ako vas samo zanima učenje, trebali biste razmotriti gdje se koristi Strojno učenje i što je najbliže vašem glavnom interesu. Također biste trebali razmisliti želite li se usredotočiti na to da se nešto događa na vašem lokalnom računalu ili ako ste zainteresirani za širenje računala na više poslužitelja.

U početku započnite tako da nešto uspije.

Gdje se koristi strojno učenje

Možete pronaći mnogo projekata koji koriste ML, zapravo toliko da svaka kategorija ima stranice. Kratka verzija je "svugdje", to nije istina, ali počnite se pitati. Očiti su oni mehanizmi za preporuke, prepoznavanje slika i otkrivanje neželjene pošte. Budući da već programirate na Pythonu, zanimati će vas i softver za dovršavanje koda The Kite. Ovo je Ostalo se koristi za otkrivanje pogrešaka pri ručnom unosu podataka, medicinskoj dijagnozi i održavanju glavnih tvornica i drugih industrija

Knjižnice ukratko:

  1. Scikit-nauči, Iz scikita; Rutine i knjižnice povrh NumPy, SciPy i Matplotlib. Ova se knjižnica izravno oslanja na rutine u matematičkim knjižnicama izvornim za Python. Scikit-learn instalirate s redovnim upraviteljem paketa Python. Scikit-learn je mali i ne podržava izračun GPU-a, ovo vas možda zanima, ali to je svjestan izbor. Ovaj je paket manji i s njim je lakše započeti. I dalje djeluje prilično dobro u većem kontekstu, iako su vam potrebni drugi paketi za izradu gigantskog klastera izračuna.
  2. Scikit-slika Posebno za slike! Scikit-image ima algoritme za analizu i manipulaciju slike. Pomoću nje možete popraviti oštećene slike, kao i manipulirati bojom i ostalim atributima slike. Glavna ideja ovog paketa je učiniti sve slike dostupnima NumPy-u tako da možete raditi na njima kao ndarrays. Na ovaj način imate slike na raspolaganju kao podatke za pokretanje bilo kojeg algoritma.
  3. Shogun: C ++ baza s jasnim API sučeljima za Python, Java, Scala itd. Mnogi, možda većina algoritama dostupnih za eksperimentiranje. Ovaj je napisan na C ++ radi efikasnosti, postoji i način da ga isprobate u oblaku. Shogun koristi SWIG za sučelje s mnogim programskim jezicima, uključujući Python. Shogun pokriva većinu algoritama i široko se koristi u akademskom svijetu. Paket ima paket alata dostupan na https: // www.shogun-kutija s alatima.org.
  4. Iskra MLlib: Uglavnom je za Javu, ali je dostupan putem NumPy knjižnice za programere Pythona. Spark MLlib je razvio tim Apachea, tako da je usmjeren na distribuirana računalna okruženja i mora se izvoditi s majstorom i radnicima. To možete učiniti u samostalnom načinu, ali stvarna snaga Sparka je sposobnost raspodjele poslova na mnogim strojevima. Distribuirana priroda Sparka čini ga popularnim kod mnogih velikih tvrtki, poput IBM-a, Amazona i Netflixa. Glavna svrha je iskopati „Big Data“, što znači sve one mrvice koje ostavljate za sobom kad surfate i kupujete putem interneta. Ako želite raditi s strojnim učenjem, Spark MLlib je dobro mjesto za početak. Algoritmi koje podržava rašireni su po cijelom rasponu. Ako započinjete hobi projekt, to možda i nije najbolja ideja.
  5. H2O: Namijenjen je poslovnim procesima tako da podržava predviđanja za preporuke i sprečavanje prijevara. Posao, H20.ai ima za cilj pronalaženje i analizu skupova podataka iz distribuiranih datotečnih sustava. Možete ga pokretati na većini konvencionalnih operativnih sustava, ali glavna svrha je podrška sustavima temeljenim na oblaku. Uključuje većinu statističkih algoritama pa se može koristiti za većinu projekata.
  6. Čuvar slonova u Indiji: Izrađen je za distribuirane algoritme strojnog učenja. Dio je Apachea zbog raspodijeljene prirode izračuna. Ideja iza Mahouta je da matematičari implementiraju vlastite algoritme. Ovo nije za početnike, ako samo učite, bolje je koristiti nešto drugo. Kad je to rekao, Mahout se može povezati s mnogim pozadinskim krajevima, pa kad ste stvorili nešto, pogledajte želite li koristiti Mahout za svoje sučelje.
  7. Cloudera Oryx: Uglavnom se koristi za strojno učenje na podacima u stvarnom vremenu. Oryx 2 je arhitektura koja sloji sav posao kako bi stvorila sustav koji može reagirati na podatke u stvarnom vremenu. Slojevi također rade u različitim vremenskim okvirima, sa skupnim slojem koji gradi osnovni model i slojem brzine koji modificira model kako novi podaci dolaze. Oryx je izgrađen na vrhu Apache Sparka i stvara cijelu arhitekturu koja implementira sve dijelove aplikacije.
  8. Theano: Theano je Python knjižnica koja je integrirana s NumPy. Ovo je najbliže Pythonu koje možete dobiti. Kada koristite Theano, savjetuje vam se instaliranje gcc-a. Razlog tome je što Theano može vaš kod prevesti u najprikladniji mogući kod. Iako je Python izvrstan, u nekim je slučajevima C brži. Dakle, Theano se može pretvoriti u C i kompajlirati, čineći vaš program bržim. Po želji možete dodati podršku za GPU.
  9. Tenzor tok: Tenzor u nazivu pokazuje na matematički tenzor. Takav tenzor ima 'n' mjesta u matrici, međutim, tenzor je višedimenzionalni niz. TensorFlow ima algoritme za izračun tenzora, pa otuda i naziv, koje možete nazvati iz Pythona. Izgrađen je u C i C ++, ali ima prednji kraj za Python. To ga čini jednostavnim za upotrebu i brzim radom. Tensorflow se može izvoditi na CPU-u, GPU-u ili distribuirati preko mreža, to se postiže izvršnim mehanizmom koji djeluje kao sloj između vašeg koda i procesora.
  10. Matplotlib: Kad naiđete na problem koji možete riješiti strojnim učenjem, najvjerojatnije ćete htjeti vizualizirati svoje rezultate. Ovdje dolazi matplotlib. Dizajniran je za prikaz vrijednosti bilo kojih matematičkih grafova i intenzivno se koristi u akademskom svijetu.

ZAKLJUČAK

Ovaj vam je članak dao ideju o tome što je dostupno za programiranje u strojnom učenju. Da biste dobili jasnu sliku onoga što vam treba, morate započeti s izradom nekoliko programa i vidjeti kako oni funkcioniraju. Tek kad saznate kako se stvari mogu učiniti, ne možete pronaći savršeno rješenje za sljedeći projekt.

Kako prikazati OSD prekrivač u aplikacijama i igrama na cijelom zaslonu za Linux
Igranje igara preko cijelog zaslona ili upotreba aplikacija u režimu preko cijelog zaslona bez ometanja može vas odsjeći od relevantnih informacija o ...
Top 5 karata za hvatanje igara
Svi smo vidjeli i voljeli streaming reprodukcije na YouTubeu. PewDiePie, Jakesepticye i Markiplier samo su neki od najboljih igrača koji su zaradili m...
Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...