Introduksjon til maskinlæring i python

Maskininnlæring er handlingen om å gi datamaskiner muligheten til å lære uten å eksplisitt programmere dem. Dette gjøres ved å gi data til datamaskiner og få dem til å forvandle dataene til beslutningsmodeller som deretter brukes til fremtidige spådommer.

I denne opplæringen vil vi snakke om maskinlæring og noen av de grunnleggende konseptene som kreves for å komme i gang med maskinlæring. Vi vil også utarbeide noen Python-eksempler for å forutsi enkelte elementer eller hendelser.

Introduksjon til maskinlæring

Maskininnlæring er en type teknologi som tar sikte på å lære av erfaring. For eksempel, som menneske, kan du lære å spille sjakk bare ved å observere andre som spiller sjakk. På samme måte programmeres datamaskiner ved å gi dem data som de lærer og deretter kan forutsi fremtidige elementer eller forhold.

La oss for eksempel si at du vil skrive et program som kan fortelle om en bestemt type frukt er en appelsin eller en sitron. Det kan hende du finner det enkelt å skrive et slikt program, og det vil gi de nødvendige resultatene, men det kan også hende at programmet ikke fungerer effektivt for store datasett. Det er her maskinlæring kommer inn i spill.

Det er ulike trinn involvert i maskinlæring:

  1. innsamling av data
  2. filtrering av data
  3. analyse av data
  4. algoritmen trening
  5. testing av algoritmen
  6. bruker algoritmen for fremtidige spådommer

Maskininnlæring bruker forskjellige typer algoritmer for å finne mønstre, og disse algoritmene er klassifisert i to grupper:

  • veiledet læring
  • uovervåket læring

Overvåket læring

Overvåket læring er vitenskapen om å trene en datamaskin for å gjenkjenne elementer ved å gi prøvedata. Datamaskinen lærer av det og kan forutsi fremtidige datasett basert på de lærte dataene.

For eksempel kan du trene en datamaskin for å filtrere ut spammeldinger basert på tidligere informasjon.

Overvåket læring har blitt brukt i mange applikasjoner, f.eks. Facebook, for å søke bilder basert på en bestemt beskrivelse. Du kan nå søke bilder på Facebook med ord som beskriver innholdet på bildet. Siden nettsamfunnet allerede har en database med bildetekster, kan den søke og matche beskrivelsen til funksjoner fra bilder med en viss grad av nøyaktighet.

Det er bare to trinn involvert i veiledet læring:

  • trening
  • testing

Noen av de overordnede læringsalgoritmene inkluderer:

  • beslutning trær
  • støtte vektormaskiner
  • naive Bayes
  • k-nærmeste nabo
  • lineær regresjon

Eksempel

Vi skal skrive et enkelt program for å demonstrere hvordan veiledet læring fungerer ved hjelp av Sklearn-biblioteket og Python-språket. Sklearn er et maskinlæringsbibliotek for Pythons programmeringsspråk med en rekke funksjoner som multiple analyse, regresjon og clustering algoritmer.

Sklearn samarbeider også godt med NumPy og SciPy-bibliotekene.

Installer Sklearn

Sklearn installasjonsveiledning gir en veldig enkel måte å installere den på for flere plattformer. Det krever flere avhengigheter:

  • Python (> = 2,7 eller> = 3,3),
  • NumPy (> = 1,82)
  • SciPy (> = 0.13.3)

Hvis du allerede har disse avhengighetene, kan du installere Sklearn så enkelt som:

pip installere -U scikit-learn

En enklere måte er å bare installere Anaconda. Dette tar vare på alle avhengighetene, slik at du ikke trenger å bekymre deg for å installere dem en etter én.

For å teste om Sklearn kjører riktig, må du bare importere det fra en Python tolk på følgende måte:

importere sklearn

Hvis det ikke oppstår feil, så er du god til å gå.

Nå som vi er ferdige med installasjonen, la oss komme tilbake til vårt problem. Vi ønsker å kunne skille mellom forskjellige dyr. Så vi skal designe en algoritme som kan fortelle spesielt om et gitt dyr er enten en hest eller en kylling.

Vi må først samle noen prøvedata fra hver type dyr. Noen prøvedata vises i tabellen under.

Høyde (tommer) Vekt (kg)
Temperatur (Celsius)
Merkelapp
7
0.6
40 Kylling (0)
7
0.6 41
Kylling (0)
37
0.8 37
Hest (1)
37
0.8 38
Hest (1)

Prøvedataene vi har fått gir noen av de vanlige egenskapene til de to dyrene og dataene fra to av dyrene. Jo større prøvedataene er, desto mer nøyaktige og mindre partisk blir resultatene.

Med denne typen data kan vi kode en algoritme og trene den for å gjenkjenne et dyr basert på trente verdier og klassifisere det enten som en hest eller en kylling. Nå skal vi gå videre og skrive algoritmen som vil få jobben gjort.

Først importerer du tremodulen fra Sklearn.

fra sklearn import tre

Definer funksjonene du vil bruke for å klassifisere dyrene.

funksjoner = [[7, 0,6, 40], [7, 0,6, 41], [37, 600, 37], [37, 600, 38]]

Definer utgangen som hver klassifikator skal gi. En kylling vil bli representert med 0, mens en hest vil bli representert med 1.

#labels = [kylling, kylling, hest, hest] # vi bruker 0 til å representere en kylling og 1 for å representere hestetiketter = [0, 0, 1, 1] 

Vi definerer deretter klassifiseringsenheten som vil være basert på et beslutningstreet.

classifier = tree.DecisionTreeClassifier ()

Mate eller passe dataene dine til klassifikatoren.

classifier.fit (funksjoner, etiketter) 

Den komplette koden for algoritmen er vist nedenfor.

fra sklearn import tre funksjoner = [[7, 0,6, 40], [7, 0,6, 41], [37, 600, 37], [37, 600, 38]] #labels = [kylling, kylling, hest, hest ] etiketter = [0, 0, 1, 1] classif = tree.DecisionTreeClassifier () classif.fit (funksjoner, etiketter)

Vi kan nå forutsi et gitt sett med data. Slik forutsier du et dyr med en høyde på 7 tommer, en vekt på 0,6 kg og en temperatur på 41:

fra sklearn import tre funksjoner = [[7, 0,6, 40], [7, 0,6, 41], [37, 600, 37], [37, 600, 38]] #labels = [kylling, kylling, hest, hest ] etiketter = [0, 0, 1, 1] classif = tree.DecisionTreeClassifier () classif.fit (funksjoner, etiketter) print classif.predict ([[7, 0,6, 41]]) #output # [0] eller en Kylling

Slik forutsier du et dyr med en høyde på 38 tommer, en vekt på 600 kg og en temperatur på 37,5:

fra sklearn import tre funksjoner = [[7, 0,6, 40], [7, 0,6, 41], [37, 600, 37], [37, 600, 38]] #labels = [kylling, kylling, hest, hest ] etiketter = [0, 0, 1, 1] classif = tree.DecisionTreeClassifier () classif.fit (funksjoner, etiketter) print classif.predict ([[38, 600, 37.5]]) # utgang # [1] eller en Hest 

Som du kan se over, har du trent algoritmen for å lære alle dyrets egenskaper og navn, og kunnskapen om disse dataene brukes til å teste nye dyr.

Unservervised Learning

Unservervised læring er når du trener maskinen med bare et sett av innganger. Maskinen vil da kunne finne et forhold mellom inngangsdata og andre som du kanskje vil forutsi. I motsetning til underlært opplæring, hvor du presenterer en maskin med noen data for å trene på, er ikke-overvåket læring ment å få datamaskinen til å finne mønstre eller relasjoner mellom ulike datasett.

Unservervisert læring kan videre deles inn i:

  • gruppering
  • assosiasjon

Gruppering: Clustering betyr å gruppere data iboende. For eksempel kan du klassifisere forbruksvaner for forbrukerne og bruke den til annonsering ved å målrette forbrukerne ut fra kjøp og kjøp vaner.

assosiasjon: Forening er der du identifiserer regler som beskriver store sett med dataene dine. Denne typen læring kan gjelde ved å knytte bøker basert på forfatter eller kategori, enten motiverende, fiktive eller pedagogiske bøker.

Noen av de populære uten tilsynslæringsalgoritmer inkluderer:

  • k-betyr clustering
  • hierarkisk clustering

Unservervisert læring vil være en viktig teknologi i nær fremtid. Dette skyldes det faktum at det er mange ufiltrerte data som ennå ikke er digitalisert.

Konklusjon

Jeg håper denne opplæringen har hjulpet deg i gang med maskinlæring. Dette er bare en introduksjon-maskinlæring har mye å dekke, og dette er bare en brøkdel av hva maskinlæringen kan gjøre.

Ikke nøl med å se hva vi har tilgjengelig for salg og for studier i Envato Market, og ikke nøl med å stille spørsmål og gi din verdifulle tilbakemelding ved å bruke feedet under.

Din beslutning om å bruke enten en overvåket eller ikke-overvåket maskinlæringsalgoritme vil avhenge av ulike faktorer, for eksempel dataene og strukturen i dataene.

Maskinlæring kan brukes på nesten alle områder av våre liv, f.eks. i å forebygge svindel, tilpasse nyhetsfeed på sosiale medier for å passe brukerens preferanser, e-post og malwarefiltrering, værspådommer og til og med i e-handelssektoren for å forutsi forbrukerhandlingsvaner.