Topp topp 10 maskinlæringsbiblioteker for Python

Topp topp 10 maskinlæringsbiblioteker for Python

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

Du har kommet hit for å bruke maskinlæring (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 maskinlæring brukes og som er nærmest din viktigste interesse. Du bør også vurdere om du vil fokusere på å få noe som skjer på din lokale maskin, eller om du er interessert i å spre databehandling over mange servere.

I begynnelsen, begynn 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 lange. Den korte versjonen er 'overalt', dette er ikke sant, men en begynner å lure på. De åpenbare er anbefalingsmotorer, bildegjenkjenning og spamdeteksjon. Siden du allerede er programmering i Python, vil du også være interessert i Kite Code Completion Software. Dette er andre bruksområder for å oppdage feil fra manuell datainnføring, medisinsk diagnose og vedlikehold for større fabrikker og andre bransjer

Bibliotekene kort sagt:

  1. Scikit-Learn, Fra Scikit; Rutiner og biblioteker på toppen av Numpy, Scipy og Matplotlib. Dette biblioteket stoler direkte på rutiner på de matematiske bibliotekene som er hjemmehørende i Python. Du installerer Scikit-Learn med din vanlige Python Package Manager. Scikit-Learn 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 fremdeles ganske bra i større sammenhenger, men for å lage en gigantisk beregning klynge, trenger du andre pakker.
  2. Scikit-Image Spesiell for bilder! Scikit-Image har algoritmer for bildeanalyse og manipulasjon. Du kan bruke den til å reparere skadede bilder i tillegg til å manipulere farge og andre attributter til bildet. Hovedideen med denne pakken er å gjøre alle bilder tilgjengelig for Numpy, slik at du kan gjøre operasjoner på dem som Ndarrays. På denne måten har du bildene tilgjengelige som data for å kjøre algoritmer.
  3. Shogun: C ++ base med klare API -grensesnitt til Python, Java, Scala etc. 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-Toolbox.org.
  4. Spark Mllib: Er hovedsakelig for Java, men er tilgjengelig gjennom Numpy Library for Python -utviklere. Spark Mllib er utviklet av Apache -teamet, så det er rettet mot distribuerte datamiljøer og må drives 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 å gruve "big data", noe som betyr at 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 bra sted å starte. Algoritmene den støtter er spredt over hele området. 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 forebygging av svindel. 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. Det inkluderer 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 beregningens distribuerte natur. Ideen bak Mahout er at matematikere skal implementere sine egne algoritmer. Dette er ikke for en nybegynner, hvis du bare lærer, er du bedre å bruke noe annet. Når det er sagt, kan Mahout koble seg til mange back-ender, så når du har laget noe, ser du inn for å se om du vil bruke Mahout til fronten din.
  7. Cloudera Oryx: Hovedsakelig brukt til maskinlæring på sanntidsdata. Oryx 2 er en arkitektur som legger alt arbeidet for å lage et system som kan reagere på sanntidsdata. Lagene fungerer også i forskjellige tidsrammer, med et batchlag som bygger grunnmodellen og et hastighetslag som endrer modellen når nye data kommer inn. Oryx er bygget på toppen av Apache Spark og lager en hel arkitektur som implementerer alle deler av en applikasjon.
  8. Theano: Theano er et Python -biblioteker som er integrert med Numpy. Dette er det nærmeste Python du kan få. Når du bruker Theano, anbefales du å ha GCC installert. Årsaken til dette er at Theano kan sammenstille koden din til den mest passende koden som mulig. Mens Python er flott, er C i noen tilfeller raskere. Så Theano kan konvertere til C og kompilere å gjøre programmet ditt raskere. Eventuelt kan du legge til GPU -støtte.
  9. Tensorflow: Tensoren i navnet peker på en matematisk tensor. En slik tensor har 'n' steder i en matrise, men en tensor er en flerdimensjonal matrise. TensorFlow har algoritmer for å lage beregninger for tensorer, derav navnet, kan du kalle disse fra Python. Den er bygget i C og C ++, men har en front-end for Python. Dette gjør det enkelt å bruke og hurtigløp. Tensorflow kan kjøre på CPU, GPU eller distribuert over nettverk, dette oppnås av en utførelsesmotor som fungerer som et lag mellom koden og prosessoren.
  10. Matplotlib: Når du har kommet med et problem du kan løse med maskinlæring, vil du mest sannsynlig visualisere resultatene dine. Det er her matplotlib kommer inn. Den er designet for å vise verdier av alle matematiske grafer og brukes sterkt i den akademiske verden.

KONKLUSJON

Denne artikkelen har gitt deg en ide om hva som er tilgjengelig for program 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.