Gegevenswetenschap

Top 10 machine learning-bibliotheken voor Python

Top 10 machine learning-bibliotheken voor Python

Wat wil je maken?? De belangrijke vraag!

Je bent hier gekomen om Machine Learning (ML) te gebruiken . Heb je goed overwogen waarvoor?? Wanneer u een Machine Learning-bibliotheek kiest, moet u beginnen met hoe u deze gaat gebruiken. Zelfs als je alleen maar geïnteresseerd bent in leren, moet je overwegen waar Machine Learning wordt gebruikt en wat het dichtst bij je grootste interesse ligt. U moet ook overwegen of u zich wilt concentreren op het op gang brengen van iets op uw lokale machine of dat u uw computergebruik over meerdere servers wilt verspreiden.

Begin in het begin door iets te laten werken.

Waar machine learning wordt gebruikt

Je kunt veel projecten vinden die ML gebruiken, in feite zoveel dat elke categorie pagina's lang is. De korte versie is 'overal', dit is niet waar, maar je begint je af te vragen. De voor de hand liggende zijn aanbevelingen-engines, beeldherkenning en spamdetectie. Omdat je al in Python programmeert, ben je ook geïnteresseerd in de software voor het aanvullen van de code van Kite. Dit is Andere toepassingen zijn het detecteren van fouten bij handmatige gegevensinvoer, medische diagnose en onderhoud voor grote fabrieken en andere industrieën

De bibliotheken in het kort:

  1. Scikit-leren, Van scikit; Routines en bibliotheken bovenop NumPy, SciPy en Matplotlib. Deze bibliotheek vertrouwt rechtstreeks op routines op de wiskundige bibliotheken die eigen zijn aan Python. Je installeert scikit-learn met je reguliere Python-pakketbeheerder. Scikit-learn is klein en ondersteunt geen GPU-berekeningen, dit kan je afschrikken maar het is een bewuste keuze. Dit pakket is kleiner en makkelijker om mee aan de slag te gaan. Het werkt nog steeds redelijk goed in grotere contexten, maar om een ​​gigantisch rekencluster te maken, heb je andere pakketten nodig.
  2. Scikit-afbeelding Speciaal voor afbeeldingen! Scikit-image heeft algoritmen voor beeldanalyse en -manipulatie. U kunt het gebruiken om beschadigde afbeeldingen te repareren en om de kleur en andere kenmerken van de afbeelding te manipuleren. Het belangrijkste idee van dit pakket is om alle afbeeldingen beschikbaar te maken voor NumPy, zodat u er bewerkingen op kunt uitvoeren als ndarrays. Op deze manier heb je de afbeeldingen beschikbaar als gegevens voor het uitvoeren van algoritmen.
  3. Sjogoen: C++-basis met duidelijke API-interfaces voor Python, Java, Scala enz. Veel, misschien wel de meeste algoritmen beschikbaar om te experimenteren. Deze is geschreven in C++ voor efficiëntie, er is ook een manier om het in de cloud te proberen. Shogun gebruikt SWIG om te communiceren met veel programmeertalen, waaronder Python. Shogun dekt de meeste algoritmen en wordt veel gebruikt in de academische wereld. Het pakket heeft een toolbox beschikbaar op https://www.shogun-gereedschapskist.org.
  4. Spark MLlib: Is voornamelijk voor Java, maar is beschikbaar via NumPy Library voor Python-ontwikkelaars. De Spark MLlib is ontwikkeld door het Apache-team, dus het is gericht op gedistribueerde computeromgevingen en moet worden uitgevoerd met master en worker. Je kunt dit in de stand-alone modus doen, maar de echte kracht van Spark is de mogelijkheid om de taken over veel machines te verdelen. Het gedistribueerde karakter van Spark maakt het populair bij veel grote bedrijven, zoals IBM, Amazon en Netflix. Het belangrijkste doel is om "Big Data" te minen, wat betekent dat al die broodkruimels die je achterlaat wanneer je surft en online winkelt. Als je met Machine Learning wilt werken, is Spark MLlib een goede plek om te beginnen. De algoritmen die het ondersteunt, zijn verspreid over het volledige bereik. Als je een hobbyproject begint, is dit misschien niet het beste idee.
  5. H2O: Is gericht op bedrijfsprocessen en ondersteunt dus voorspellingen voor aanbevelingen en fraudepreventie. Het bedrijf, H20.ai is gericht op het vinden en analyseren van datasets van gedistribueerde bestandssystemen. U kunt het op de meeste conventionele besturingssystemen uitvoeren, maar het belangrijkste doel is om cloudgebaseerde systemen te ondersteunen. Het bevat de meeste statistische algoritmen en kan dus voor de meeste projecten worden gebruikt.
  6. Mahout: Is gemaakt voor gedistribueerde Machine Learning-algoritmen. Het maakt deel uit van Apache vanwege de gedistribueerde aard van de berekeningen. Het idee achter Mahout is dat wiskundigen hun eigen algoritmen implementeren. Dit is niet voor een beginner, als je gewoon aan het leren bent, kun je beter iets anders gebruiken. Dat gezegd hebbende, Mahout kan verbinding maken met veel back-ends, dus als je iets hebt gemaakt, kijk dan of je Mahout wilt gebruiken voor je frontend.
  7. Cloudera Oryx: Hoofdzakelijk gebruikt voor Machine Learning op realtime gegevens. Oryx 2 is een architectuur die al het werk in lagen brengt om een ​​systeem te creëren dat kan reageren op realtime gegevens. De lagen werken ook in verschillende tijdframes, met een batchlaag die het basismodel bouwt en een snelheidslaag die het model aanpast als er nieuwe gegevens binnenkomen. Oryx is gebouwd bovenop Apache Spark en creëert een volledige architectuur die alle onderdelen van een applicatie implementeert.
  8. Theano: Theano is een Python-bibliotheken die is geïntegreerd met NumPy. Dit is het dichtst bij Python dat je kunt krijgen. Wanneer u Theano gebruikt, wordt u geadviseerd om gcc te installeren. De reden hiervoor is dat Theano uw code kan compileren tot de meest geschikte code mogelijk. Hoewel Python geweldig is, is C in sommige gevallen sneller. Dus Theano kan converteren naar C en compileren waardoor je programma sneller draait. Optioneel kunt u GPU-ondersteuning toevoegen.
  9. tensorstroom: De tensor in de naam wijst naar een wiskundige tensor. Zo'n tensor heeft 'n' plaatsen in een matrix, maar een tensor is een multidimensionale array. TensorFlow heeft algoritmen om berekeningen te maken voor Tensors, vandaar de naam, je kunt deze vanuit Python aanroepen. Het is gebouwd in C en C++, maar heeft een front-end voor Python. Dit maakt het gemakkelijk te gebruiken en snel te werken. Tensorflow kan draaien op CPU, GPU of gedistribueerd over netwerken, dit wordt bereikt door een uitvoeringsengine die fungeert als een laag tussen uw code en de processor.
  10. Matplotlib: Wanneer je een probleem hebt bedacht dat je kunt oplossen met Machine Learning, wil je waarschijnlijk je resultaten visualiseren. Dit is waar matplotlib binnenkomt. Het is ontworpen om waarden van wiskundige grafieken weer te geven en wordt veel gebruikt in de academische wereld.

CONCLUSIE

Dit artikel heeft je een idee gegeven van wat er beschikbaar is om te programmeren in Machine Learning. Om een ​​duidelijk beeld te krijgen van wat je nodig hebt, moet je beginnen met het maken van een paar programma's en kijken hoe ze werken. Pas als je weet hoe het kan, kun je de perfecte oplossing vinden voor je volgende project.

Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...
Vulkan voor Linux-gebruikers
Met elke nieuwe generatie grafische kaarten zien we game-ontwikkelaars de grenzen van grafische betrouwbaarheid verleggen en een stap dichter bij foto...
OpenTTD versus Simutrans
Je eigen transportsimulatie maken kan leuk, ontspannend en buitengewoon aanlokkelijk zijn. Daarom moet je ervoor zorgen dat je zoveel mogelijk spellen...