Datavitenskap

Topp 10 maskinlæringsbiblioteker for Python

Topp 10 maskinlæringsbiblioteker for Python

Hva vil du lage? Det viktige spørsmålet!

Du har kommet hit for å bruke Machine Learning (ML) . Har du vurdert nøye hva for? Når du velger et maskinlæringsbibliotek, må du begynne med hvordan du skal bruke det. Selv om du bare er interessert i å lære, bør du vurdere hvor Machine Learning brukes og hva som er nærmest din hovedinteresse. Du bør også vurdere om du vil fokusere på å få noe i gang på din lokale maskin, eller hvis du er interessert i å spre databehandling over mange servere.

I begynnelsen, start med å få noe til å fungere.

Hvor maskinlæring brukes

Du kan finne mange prosjekter som bruker ML, faktisk så mange at hver kategori er sider lang. Kortversjonen er 'overalt', dette er ikke sant, men man begynner å lure. De åpenbare er anbefalingsmotorer, bildegjenkjenning og spamming. Siden du allerede programmerer i Python, vil du også være interessert i programvaren The Kite code complete. Dette er andre bruksområder for å oppdage feil fra manuell dataregistrering, medisinsk diagnose og vedlikehold for store fabrikker og andre næringer

Bibliotekene i korte trekk:

  1. Scikit-lær, Fra scikit; Rutiner og biblioteker på toppen av NumPy, SciPy og Matplotlib. Dette biblioteket stoler direkte på rutiner på matematiske biblioteker som er hjemmehørende i Python. Du installerer scikit-learning med din vanlige Python-pakkebehandling. Scikit-læring er liten og støtter ikke GPU-beregninger, dette kan gi deg, men det er et bevisst valg. Denne pakken er mindre og lettere å komme i gang med. Det fungerer fortsatt ganske bra i større sammenhenger, men for å lage en gigantisk beregningsklynge trenger du andre pakker.
  2. Scikit-image Spesielt for bilder! Scikit-image har algoritmer for bildeanalyse og manipulering. Du kan bruke den til å reparere skadede bilder, samt manipulere farger og andre attributter til bildet. Hovedideen til denne pakken er å gjøre alle bildene tilgjengelige for NumPy slik at du kan gjøre operasjoner på dem som andre matriser. På denne måten har du bildene tilgjengelig som data for kjøring av algoritmer.
  3. Shogun: C ++ base med tydelige API-grensesnitt til Python, Java, Scala osv. Mange, kanskje de fleste algoritmer som er tilgjengelige for eksperimentering. Denne er skrevet i C ++ for effektivitet, det er også en måte å prøve den i skyen. Shogun bruker SWIG for å grensesnitt med mange programmeringsspråk, inkludert Python. Shogun dekker de fleste algoritmer og brukes mye innen den akademiske verden. Pakken har en verktøykasse tilgjengelig på https: // www.shogun-verktøykasse.org.
  4. Spark MLlib: Er hovedsakelig for Java, men er tilgjengelig via NumPy Library for Python-utviklere. Spark MLlib er utviklet av Apache-teamet, så det er rettet mot distribuerte databehandlingsmiljøer og må kjøres med master og arbeidere. Du kan gjøre dette i frittstående modus, men den virkelige kraften til Spark er muligheten til å distribuere jobbene over mange maskiner. Den distribuerte naturen til Spark gjør den populær blant mange store selskaper, som IBM, Amazon og Netflix. Hovedformålet er å utvinne "Big Data", som betyr alle de brødsmulene du legger igjen når du surfer og handler online. Hvis du vil jobbe med maskinlæring, er Spark MLlib et godt sted å starte. Algoritmene den støtter er spredt over hele spekteret. Hvis du starter et hobbyprosjekt, er det kanskje ikke den beste ideen.
  5. H2O: Er rettet mot forretningsprosesser, så støtter spådommer for anbefalinger og svindelforebygging. Virksomheten, H20.ai tar sikte på å finne og analysere datasett fra distribuerte filsystemer. Du kan kjøre den på de fleste konvensjonelle operativsystemer, men hovedformålet er å støtte skybaserte systemer. Den inneholder de fleste statistiske algoritmer, slik at de kan brukes til de fleste prosjekter.
  6. Mahout: Er laget for distribuerte maskinlæringsalgoritmer. Det er en del av Apache på grunn av fordelingen av beregningene. Ideen bak Mahout er at matematikere skal implementere sine egne algoritmer. Dette er ikke for en nybegynner. Hvis du bare lærer, er det bedre å bruke noe annet. Når det er sagt, kan Mahout koble til mange bakenden, så når du har opprettet noe, se inn for å se om du vil bruke Mahout til frontend.
  7. Cloudera Oryx: Hovedsakelig brukt til maskinlæring på sanntidsdata. Oryx 2 er en arkitektur som lagrer alt arbeidet for å lage et system som kan reagere på sanntidsdata. Lagene fungerer også i forskjellige tidsrammer, med et batchlag som bygger den grunnleggende modellen og et hastighetslag som endrer modellen når nye data kommer inn. Oryx er bygget på toppen av Apache Spark og skaper en hel arkitektur som implementerer alle deler av et program.
  8. Theano: Theano er et Python-bibliotek som er integrert med NumPy. Dette er det nærmeste Python du kan få. Når du bruker Theano, anbefales det at du har gcc installert. Årsaken til dette er at Theano kan kompilere koden din til en mest mulig passende kode. Mens Python er flott, er C i noen tilfeller raskere. Så Theano kan konvertere til C og kompilere slik at programmet kjører raskere. Eventuelt kan du legge til GPU-støtte.
  9. Tensorflow: Tensoren i navnet peker mot en matematisk tensor. En slik tensor har 'n' steder i en matrise, men en Tensor er en flerdimensjonal matrise. TensorFlow har algoritmer for å gjøre beregninger for Tensors, derav navnet, du kan ringe disse fra Python. Den er bygget i C og C ++, men har en front-end for Python. Dette gjør det enkelt å bruke og raskt løpe. Tensorflow kan kjøre på CPU, GPU eller distribuert over nettverk, dette oppnås ved en kjøremotor som fungerer som et lag mellom koden din og prosessoren.
  10. Matplotlib: Når du har kommet opp med et problem du kan løse med Machine Learning, vil du mest sannsynlig ønske å visualisere resultatene dine. Det er her matplotlib kommer inn. Den er designet for å vise verdier for matematiske grafer og brukes mye i den akademiske verden.

KONKLUSJON

Denne artikkelen har gitt deg en ide om hva som er tilgjengelig for programmering i maskinlæring. For å få et klart bilde av hva du trenger, må du starte med å lage noen få programmer og se hvordan de fungerer. Ikke før du vet hvordan ting kan gjøres, kan du finne den perfekte løsningen for ditt neste prosjekt.

Mus Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Kontroller og administrer musebevegelser mellom flere skjermer i Windows 10
Dual Display Mouse Manager lar deg kontrollere og konfigurere musebevegelse mellom flere skjermer, ved å bremse bevegelsene nær grensen. Windows 10/8,...
Mus WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
WinMouse lar deg tilpasse og forbedre musemarkørenes bevegelse på Windows PC
Hvis du vil forbedre standardfunksjonene til musepekeren, bruk freeware WinMouse. Det legger til flere funksjoner som hjelper deg å få mest mulig ut a...
Mus Mus venstreklikknapp fungerer ikke på Windows 10
Mus venstreklikknapp fungerer ikke på Windows 10
Hvis du bruker en dedikert mus med den bærbare eller stasjonære datamaskinen, men museklikk-knappen fungerer ikke på Windows 10/8/7 av en eller annen ...