Datalogi

Top 10 maskinlæringsbiblioteker til Python

Top 10 maskinlæringsbiblioteker til Python

Hvad vil du oprette? Det vigtige spørgsmål!

Du er kommet her for at bruge Machine Learning (ML) . Har du overvejet nøje, hvad til? Når du vælger et maskinlæringsbibliotek, skal du starte med, hvordan du skal bruge det. Selvom du bare er interesseret i at lære, skal du overveje, hvor Machine Learning bruges, og hvad der er tættest på din hovedinteresse. Du bør også overveje, om du vil fokusere på at få noget i gang på din lokale maskine, eller hvis du er interesseret i at sprede din computer over mange servere.

I starten skal du starte med at få noget til at fungere.

Hvor maskinlæring bruges

Du kan finde mange projekter, der bruger ML, faktisk så mange, at hver kategori er sider lang. Den korte version er 'overalt', dette er ikke sandt, men man begynder at undre sig. De åbenlyse er anbefalingsmotorer, billedgenkendelse og registrering af spam. Da du allerede programmerer i Python, vil du også være interesseret i softwaren The Kite code complete. Dette er Andre anvendelser er at opdage fejl fra manuel dataindtastning, medicinsk diagnose og vedligeholdelse for større fabrikker og andre industrier

Bibliotekerne kort sagt:

  1. Scikit-lær, Fra scikit; Rutiner og biblioteker oven på NumPy, SciPy og Matplotlib. Dette bibliotek stoler direkte på rutiner på de matematiske biblioteker, der er hjemmehørende i Python. Du installerer scikit-learning med din almindelige Python-pakkehåndtering. Scikit-læring er lille og understøtter ikke GPU-beregninger, dette kan give dig, men det er et bevidst valg. Denne pakke er mindre og lettere at komme i gang med. Det fungerer stadig ret godt i større sammenhænge, ​​men for at lave en gigantisk beregningsklynge har du brug for andre pakker.
  2. Scikit-billede Specielt til billeder! Scikit-image har algoritmer til billedanalyse og manipulation. Du kan bruge den til at reparere beskadigede billeder samt manipulere farver og andre egenskaber ved billedet. Hovedideen med denne pakke er at gøre alle billeder tilgængelige for NumPy, så du kan foretage operationer på dem som ndarrays. På denne måde har du billederne tilgængelige som data til kørsel af algoritmer.
  3. Shogun: C ++ base med klare API-grænseflader til Python, Java, Scala osv. Mange, måske de fleste algoritmer, der er tilgængelige til eksperimentering. Denne er skrevet i C ++ for effektivitet, der er også en måde at prøve det i skyen. Shogun bruger SWIG til at interface med mange programmeringssprog, herunder Python. Shogun dækker de fleste algoritmer og bruges i vid udstrækning inden for den akademiske verden. Pakken har en værktøjskasse tilgængelig på https: // www.shogun-værktøjskasse.org.
  4. Spark MLlib: Er hovedsageligt til Java, men er tilgængelig via NumPy Library til Python-udviklere. Spark MLlib er udviklet af Apache-teamet, så det er rettet mod distribuerede computermiljøer og skal køres med master og arbejdere. Du kan gøre dette i standalone-tilstand, men den virkelige kraft ved Spark er evnen til at distribuere jobbet over mange maskiner. Sparks distribuerede natur gør det populært hos mange store virksomheder som IBM, Amazon og Netflix. Hovedformålet er at udvinde "Big Data", hvilket betyder alle de brødkrummer, du efterlader, når du surfer og handler online. Hvis du vil arbejde med Machine Learning, er Spark MLlib et godt sted at starte. De algoritmer, den understøtter, er spredt over hele spektret. Hvis du starter et hobbyprojekt, er det måske ikke den bedste idé.
  5. H2O: Er rettet mod forretningsprocesser, så understøtter forudsigelser for anbefalinger og forebyggelse af svig. Virksomheden, H20.ai sigter mod at finde og analysere datasæt fra distribuerede filsystemer. Du kan køre det på de fleste konventionelle operativsystemer, men hovedformålet er at understøtte skybaserede systemer. Det inkluderer de fleste statistiske algoritmer, så de kan bruges til de fleste projekter.
  6. Mahout: Er lavet til distribuerede maskinlæringsalgoritmer. Det er en del af Apache på grund af beregningernes distribuerede karakter. Ideen bag Mahout er, at matematikere implementerer deres egne algoritmer. Dette er ikke for en nybegynder. Hvis du bare lærer, er du bedre til at bruge noget andet. Når det er sagt, kan Mahout oprette forbindelse til mange back-ender, så når du har oprettet noget, se ind for at se om du vil bruge Mahout til din frontend.
  7. Cloudera Oryx: Bruges hovedsageligt til maskinlæring på realtidsdata. Oryx 2 er en arkitektur, der lagrer alt arbejdet for at skabe et system, der kan reagere på realtidsdata. Lagene arbejder også i forskellige tidsrammer med et batchlag, der bygger den grundlæggende model og et hastighedslag, der ændrer modellen, når nye data kommer ind. Oryx er bygget oven på Apache Spark og skaber en hel arkitektur, der implementerer alle dele af en applikation.
  8. Theano: Theano er et Python-bibliotek, der er integreret med NumPy. Dette er tættest på Python, du kan få. Når du bruger Theano, rådes du til at have gcc installeret. Årsagen til dette er, at Theano kan kompilere din kode til den bedst mulige kode. Mens Python er fantastisk, er C i nogle tilfælde hurtigere. Så Theano kan konvertere til C og kompilere, så dit program kører hurtigere. Eventuelt kan du tilføje GPU-understøttelse.
  9. Tensorflow: Tensoren i navnet peger på en matematisk tensor. En sådan tensor har 'n' steder i en matrix, men en Tensor er et multidimensionelt array. TensorFlow har algoritmer til at foretage beregninger for Tensors, deraf navnet, du kan kalde disse fra Python. Det er bygget i C og C ++, men har en front-end til Python. Dette gør det nemt at bruge og hurtigt køre. Tensorflow kan køre på CPU, GPU eller distribueres over netværk, dette opnås ved en eksekveringsmotor, der fungerer som et lag mellem din kode og processoren.
  10. Matplotlib: Når du er kommet med et problem, du kan løse med Machine Learning, vil du højst sandsynligt gerne visualisere dine resultater. Det er her matplotlib kommer ind. Det er designet til at vise værdier for alle matematiske grafer og bruges meget i den akademiske verden.

KONKLUSION

Denne artikel har givet dig en idé om, hvad der er tilgængeligt til programmering i maskinlæring. For at få et klart billede af, hvad du har brug for, skal du starte med at lave et par programmer og se, hvordan de fungerer. Først når du ved, hvordan ting kan gøres, kan du finde den perfekte løsning til dit næste projekt.

Installer komplet Linux Mint på et USB-drev
Har du nogensinde haft lyst til at have et bærbart Linux Mint-system fuldt installeret på et USB-drev klar til brug på enhver tilfældig computer? Hvis...
Sådan installeres OpenJDK (Java) på Ubuntu
Java er et af de mest populære programmeringssprog i verden. Det er stadig et af de bedste sprog til oprettelse af kraftfulde applikationer på tværs a...
Sådan installeres Google Drive på Linux Mint
Google Drev er fantastisk til lagring af data i skyen, hvilket betyder, at dine filer synkroniseres på tværs af flere enheder for øjeblikkelig adgang ...