Datavetenskap

Topp 10 maskininlärningsbibliotek för Python

Topp 10 maskininlärningsbibliotek för Python

Vad vill du skapa? Den viktiga frågan!

Du har kommit hit för att använda Machine Learning (ML) . Har du övervägt noggrant vad för? När du väljer ett maskininlärningsbibliotek måste du börja med hur du ska använda det. Även om du bara är intresserad av att lära dig bör du överväga var maskininlärning används och vilka som ligger närmast ditt huvudintresse. Du bör också överväga om du vill fokusera på att få igång något på din lokala maskin eller om du är intresserad av att sprida din dator över många servrar.

I början, börja med att få något att fungera.

Där maskininlärning används

Du kan hitta många projekt som använder ML, faktiskt så många att varje kategori är sidor lång. Den korta versionen är "överallt", det här är inte sant, men man börjar undra. De uppenbara är rekommendationsmotorer, bildigenkänning och upptäckt av skräppost. Eftersom du redan programmerar i Python kommer du också att vara intresserad av programvaran The Kite code complete. Detta är Andra användningsområden är att upptäcka fel från manuell datainmatning, medicinsk diagnos och underhåll för större fabriker och andra industrier

Biblioteken i korthet:

  1. Scikit-lär dig, Från scikit; Rutiner och bibliotek ovanpå NumPy, SciPy och Matplotlib. Detta bibliotek förlitar sig direkt på rutiner på de matematiska biblioteken som är inbyggda i Python. Du installerar scikit-learning med din vanliga Python-pakethanterare. Scikit-learning är liten och stöder inte GPU-beräkningar, det här kan göra det, men det är ett medvetet val. Detta paket är mindre och lättare att komma igång med. Det fungerar fortfarande ganska bra i större sammanhang men för att göra ett gigantiskt beräkningskluster behöver du andra paket.
  2. Scikit-bild Speciellt för bilder! Scikit-image har algoritmer för bildanalys och manipulation. Du kan använda den för att reparera skadade bilder samt manipulera färg och andra attribut för bilden. Huvudidén med detta paket är att göra alla bilder tillgängliga för NumPy så att du kan göra operationer på dem som andra uppsättningar. På detta sätt har du bilderna tillgängliga som data för att köra algoritmer.
  3. Shogun: C ++ bas med tydliga API-gränssnitt till Python, Java, Scala etc. Många, kanske de flesta algoritmer tillgängliga för experiment. Den här är skriven i C ++ för effektivitet, det finns också ett sätt att prova i molnet. Shogun använder SWIG för att gränssnitt med många programmeringsspråk, inklusive Python. Shogun täcker de flesta algoritmer och används i stor utsträckning inom den akademiska världen. Paketet har en verktygslåda tillgänglig på https: // www.shogun-verktygslåda.org.
  4. Spark MLlib: Är främst för Java men är tillgängligt via NumPy Library för Python-utvecklare. Spark MLlib är utvecklad av Apache-teamet så det riktar sig till distribuerade datormiljöer och måste köras med befälhavare och arbetare. Du kan göra detta i fristående läge men den verkliga kraften i Spark är förmågan att distribuera jobben över många maskiner. Sparks distribuerade natur gör det populärt bland många stora företag, som IBM, Amazon och Netflix. Huvudsyftet är att bryta "Big Data", vilket betyder alla de brödsmulor du lämnar när du surfar och handlar online. Om du vill arbeta med maskininlärning är Spark MLlib ett bra ställe att börja. Algoritmerna som den stöder är spridda över hela intervallet. Om du startar ett hobbyprojekt kanske det inte är den bästa idén.
  5. H2O: Är inriktad på affärsprocesser så stöder förutsägelser för rekommendationer och bedrägeribekämpning. Verksamheten, H20.ai syftar till att hitta och analysera datamängder från distribuerade filsystem. Du kan köra den på de flesta konventionella operativsystem men huvudsyftet är att stödja molnbaserade system. Den innehåller de flesta statistiska algoritmer så att de kan användas för de flesta projekt.
  6. Mahout: Är gjord för distribuerade maskininlärningsalgoritmer. Det är en del av Apache på grund av att beräkningarna distribueras. Tanken bakom Mahout är att matematiker ska implementera sina egna algoritmer. Det här är inte för en nybörjare, om du bara lär dig är det bättre att du använder något annat. Med detta sagt kan Mahout ansluta till många back-ändar, så när du har skapat något, titta in för att se om du vill använda Mahout för din frontend.
  7. Cloudera Oryx: Används främst för maskininlärning på realtidsdata. Oryx 2 är en arkitektur som lagrar allt arbete för att skapa ett system som kan reagera på realtidsdata. Skikten fungerar också i olika tidsramar, med ett batchlager som bygger basmodellen och ett hastighetslager som modifierar modellen när nya data kommer in. Oryx är byggt ovanpå Apache Spark och skapar en hel arkitektur som implementerar alla delar av en applikation.
  8. Theano: Theano är ett Python-bibliotek som är integrerat med NumPy. Detta är det närmaste Python du kan få. När du använder Theano rekommenderas du att ha gcc installerat. Anledningen till detta är att Theano kan kompilera din kod till den mest möjliga kod som möjligt. Medan Python är bra är C i vissa fall snabbare. Så Theano kan konvertera till C och kompilera vilket gör att ditt program går snabbare. Alternativt kan du lägga till GPU-stöd.
  9. Tensorflöde: Tensorn i namnet pekar på en matematisk tensor. En sådan tensor har 'n' platser i en matris, men en Tensor är en flerdimensionell matris. TensorFlow har algoritmer för att göra beräkningar för Tensors, därav namnet, du kan ringa dessa från Python. Den är byggd i C och C ++, men har en front-end för Python. Detta gör det enkelt att använda och snabbt springa. Tensorflow kan köras på CPU, GPU eller distribueras över nätverk, detta uppnås genom en exekveringsmotor som fungerar som ett lager mellan din kod och processorn.
  10. Matplotlib: När du har kommit på ett problem som du kan lösa med maskininlärning kommer du troligtvis att vilja visualisera dina resultat. Det är här matplotlib kommer in. Den är utformad för att visa värden för alla matematiska grafer och används i hög grad i den akademiska världen.

SLUTSATS

Den här artikeln har gett dig en uppfattning om vad som är tillgängligt att programmera i maskininlärning. För att få en tydlig bild av vad du behöver, måste du börja med att göra några program och se hur de fungerar. Inte förrän du vet hur saker kan göras kan du hitta den perfekta lösningen för ditt nästa projekt.

Mus Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Kontrollera och hantera musrörelser mellan flera skärmar i Windows 10
Dual Display Mouse Manager låter dig kontrollera och konfigurera musrörelser mellan flera skärmar genom att sakta ner dess rörelser nära gränsen. Wind...
Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...
Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...