Bedste Python-biblioteker til maskinlæring og dyb læring
Mens der er mange sprog at vælge imellem, er Python et af de mest udviklervenlige programmeringssprog til maskinlæring og dyb læring, og det leveres med støtte fra et bredt sæt af biblioteker, der passer til alle dine brugssituationer og projekter.
● TensorFlow
Revolutionen er her! Velkommen til TensorFlow 2.0.
TensorFlow er et hurtigt, fleksibelt og skalerbart open source-bibliotek til maskinlæring til forskning og produktion.
TensorFlow er et af de bedste biblioteker, der findes til at arbejde med maskinlæring i Python. TensorFlow, der tilbydes af Google, gør ML-modelopbygning let for både begyndere og professionelle.
Med TensorFlow kan du oprette og træne ML-modeller ikke kun på computere, men også på mobile enheder og servere ved hjælp af TensorFlow Lite og TensorFlow Serving, der tilbyder de samme fordele, men til mobile platforme og højtydende servere.
Keras udvider brugervenligheden af TensorFlow med disse ekstra funktioner til ML- og DL-programmering. Med et hjælpsomt fællesskab og en dedikeret Slack-kanal er det nemt at få support. Der findes også støtte til det konvolutionelle og rekursive neurale netværk sammen med standard neurale netværk. Du kan også henvise til andre eksempelmodeller i Keras og Computer Vision class fra Stanford.
Keras Cheat Sheet : https://s3.amazonaws.com/assets.datacamp.com/blog_assets/Keras_Cheat_Sheet_Python.pdf
Kerneopgave: Build Deep Learning models
Get Started Started with Keras –
● PyTorch
PyTorch er udviklet af Facebook og er et af de få maskinlæringsbiblioteker til Python. Udover Python har PyTorch også understøttelse for C++ med sin C++-interface, hvis du er til det. PyTorch anses for at være blandt topkandidaterne i kapløbet om at være den bedste ramme for maskinlæring og dyb læring, men PyTorch står over for konkurrence fra TensorFlow. Du kan henvise til PyTorch-tutorials for at få andre detaljer.
Nogle af de vitale funktioner, der adskiller PyTorch fra TensorFlow, er:
● Tensor computing med mulighed for accelereret behandling via Graphics Processing Units
● Let at lære, bruge og integrere med resten af Python-økosystemet
● Understøttelse af neurale netværk bygget på et båndbaseret auto diff-system
De forskellige moduler PyTorch leveres med, som hjælper med at oprette og træne neurale netværk:
● Tensorer – torch.Tensor
● Optimizers – torch.optim modul
● Neurale netværk – nn modul
● Autograd
Pros: meget tilpasselig, meget udbredt inden for deep learning forskning
Cons: færre NLP abstraktioner, ikke optimeret for hastighed
Kerneopgave: Udvikling og træning af deep learning-modeller
Keras vs Tensorflow vs PyTorch | Deep Learning Frameworks Comparison
● Scikit-learn
Scikit-learn er et andet aktivt anvendt maskinlæringsbibliotek til Python. Det omfatter nem integration med forskellige ML-programmeringsbiblioteker som NumPy og Pandas. Scikit-learn kommer med understøttelse af forskellige algoritmer som f.eks:
● Klassifikation
● Regression
● Clustering
● Dimensionalitetsreduktion
● Model Selection
● Preprocessing
Bygget omkring ideen om at være let at bruge, men stadig være fleksibel, Scikit-learn er fokuseret på datamodellering og ikke på andre opgaver som f.eks. indlæsning, håndtering, manipulation og visualisering af data. Det anses for at være tilstrækkeligt nok til at blive brugt som en end-to-end ML, fra forskningsfasen til implementeringen. Hvis du vil have en dybere forståelse af scikit-learn, kan du tjekke Scikit-learn tutorials.
Kerneopgave: Modellering
Lær Scikit-Learn-
● Pandas
Pandas er et Python-bibliotek til dataanalyse og bruges primært til datamanipulation og -analyse. Det kommer i spil, før datasættet er forberedt til træning. Pandas gør det ubesværet for programmører af maskinlæring at arbejde med tidsserier og strukturerede flerdimensionale data. Nogle af de fantastiske funktioner i Pandas, når det gælder håndtering af data, er:
● Datasæt omformning og pivotering
● Sammenlægning og sammenlægning af datasæt
● Håndtering af manglende data og datajustering
● Forskellige indekseringsmuligheder som f.eks. hierarkisk akseindeksering, Fancy indeksering
● Datafiltreringsmuligheder
Pandas gør brug af DataFrames, hvilket blot er en teknisk betegnelse for en todimensionel repræsentation af data ved at tilbyde programmører DataFrame-objekter.
Kerneopgave: Datamanipulation og analyse
Google Trends – Pandas interesse over tid
● NLTK
NLTK står for Natural Language Toolkit og er et Python-bibliotek til at arbejde med naturlig sprogbehandling. Det betragtes som et af de mest populære biblioteker til at arbejde med data om menneskesprog. NLTK tilbyder programmører enkle grænseflader sammen med et bredt udvalg af leksikalske ressourcer såsom FrameNet, WordNet, Word2Vec og flere andre. Nogle af højdepunkterne i NLTK er:
● Søgning af nøgleord i dokumenter
● Tokenisering og klassificering af tekster
● Genkendelse på stemme og håndskrift
● Lemmatisering og stemming af ord
NLTK og dets pakkepakker anses for at være et pålideligt valg for studerende, ingeniører, forskere, lingvister og industrier, der arbejder med sprog.
Kerneopgave: Tekstbehandling
● Spark MLlib
MLlib er Apache Spark’s skalerbare maskinlæringsbibliotek
Der er udviklet af Apache, og Spark MLlib er et maskinlæringsbibliotek, der gør det nemt at skalere dine beregninger. Det er enkelt at bruge, hurtigt, nemt at opsætte og tilbyder problemfri integration med andre værktøjer. Spark MLlib blev straks et praktisk værktøj til udvikling af maskinlæringsalgoritmer og applikationer.
De værktøjer, som Spark MLlib bringer til bordet, er:
Spark Mllib Machine Learning Tools
Nogle af de populære algoritmer og API’er, som programmører, der arbejder med Machine Learning ved hjælp af Spark MLlib, kan benytte sig af, er:
● Regression
● Clustering
● Optimering
● Dimensionsreduktion
● Klassifikation
● Grundlæggende statistik
● Featureudtrækning
● Theano
Theano er et kraftfuldt Python-bibliotek, der gør det nemt at definere, optimering og evaluering af kraftfulde matematiske udtryk. Nogle af de funktioner, der gør Theano til et robust bibliotek til udførelse af videnskabelige beregninger i stor skala, er bl.a:
● Understøttelse af GPU’er for at opnå bedre resultater ved tunge beregninger sammenlignet med CPU’er
● Stærk integrationsstøtte med NumPy
● Hurtigere og stabile evalueringer af selv de vanskeligste variabler
● Mulighed for at oprette brugerdefineret C-kode til dine matematiske operationer
Med Theano, kan du opnå hurtig udvikling af nogle af de mest effektive maskinlæringsalgoritmer. Bygget oven på Theano er nogle af de velkendte deep learning-biblioteker såsom Keras, Blocks og Lasagne. For mere avancerede koncepter i Theano kan du se Theano tutorial.
● MXNet
Et fleksibelt og effektivt bibliotek til deep learning
MXnet – Et fleksibelt og effektivt bibliotek til deep learning
Hvis dit ekspertiseområde omfatter deep learning, vil du finde MXNet som det perfekte valg. MXNet bruges til at træne og implementere dybe neurale netværk og er yderst skalerbart og understøtter hurtig modeltræning. Apaches MXNet fungerer ikke kun med Python, men også med et væld af andre sprog, herunder C++, Perl, Julia, R, Scala, Go og et par stykker mere.
MXNets portabilitet og skalerbarhed giver dig mulighed for at tage fra en platform til en anden og skalere den til de krævende behov i dit projekt. Nogle af de største navne inden for teknologi og uddannelse, såsom Intel, Microsoft, MIT og flere, understøtter i øjeblikket MXNet. Amazons AWS foretrækker MXNet som deres valg af foretrukken deep learning framework.
● Numpy
NumPy-biblioteket til Python koncentrerer sig om at håndtere omfattende flerdimensionale data og de indviklede matematiske funktioner, der opererer på dataene. NumPy tilbyder hurtig beregning og udførelse af komplicerede funktioner, der arbejder på arrays. Nogle få af de punkter, der taler til fordel for NumPy, er:
● Understøttelse af matematiske og logiske operationer
● Formmanipulation
● Sorterings- og udvælgelsesfunktioner
● Diskrete Fouriertransformationer
● Grundlæggende lineær algebra og statistiske operationer
● Tilfældige simuleringer
● Understøttelse af n-dimensionelle arrays
NumPy arbejder efter en objektorienteret tilgang og har værktøjer til at integrere C, C++- og Fortran-kode, og dette gør NumPy meget populær blandt det videnskabelige samfund.
Kerneopgave: Rensning og manipulation af data
Google Trends – Numpy-interesse over tid
Konklusion
Python er et virkelig vidunderligt udviklingsværktøj, der ikke kun tjener som en generel-formål programmeringssprog, men også henvender sig til specifikke nicher af dit projekt eller arbejdsgange. Med masser af biblioteker og pakker, der udvider mulighederne i Python og gør det til en all-rounder og en perfekt egnet til alle, der ønsker at gå i gang med at udvikle programmer og algoritmer. Med nogle af de moderne maskinlærings- og deep learning-biblioteker til Python, der er kort omtalt ovenfor, kan du få en idé om, hvad hvert af disse biblioteker har at tilbyde, og foretage dit valg.