Introducere în învățarea în mașină în Python

Învățarea prin mașină este actul de a da computere capacității de a învăța fără a le programa în mod explicit. Acest lucru se face prin furnizarea de date computerelor și prin transformarea acestora în modele de decizie care sunt apoi folosite pentru predicții viitoare.

În acest tutorial, vom vorbi despre învățarea în mașină și despre unele dintre conceptele fundamentale care sunt necesare pentru a începe cu învățarea în mașină. Vom proiecta și câteva exemple Python pentru a prezice anumite elemente sau evenimente.

Introducere în învățarea mașinilor

Învățarea în mașină este un tip de tehnologie care își propune să învețe din experiență. De exemplu, ca om, puteți învăța cum să jucați șah pur și simplu prin observarea altor persoane care joacă șah. În același mod, computerele sunt programate furnizându-le date de la care învață și sunt apoi capabile să prezică elemente sau condiții viitoare.

Să spunem, de exemplu, că doriți să scrieți un program care să poată spune dacă un anumit tip de fruct este o portocală sau o lămâie. S-ar putea să vă simțiți ușor să scrieți un astfel de program și acesta va da rezultatele cerute, dar s-ar putea să găsiți, de asemenea, că programul nu funcționează eficient pentru seturi de date mari. Aici intră în joc învățarea mașinilor.

Există mai mulți pași implicați în procesul de învățare în mașină:

  1. colectarea de date
  2. filtrarea datelor
  3. analiza datelor
  4. pregătire algoritmică
  5. testarea algoritmului
  6. folosind algoritmul pentru predicțiile viitoare

Învățarea în mașină utilizează diferite tipuri de algoritmi pentru a găsi modele, iar acești algoritmi sunt clasificați în două grupuri:

  • învățare supravegheată
  • învățarea nesupravegheată

Învățarea supravegheată

De învățare supravegheată este știința de formare a unui computer pentru a recunoaște elementele prin oferirea de date de probă. Apoi, computerul învață din ea și este capabil să prezică seturi de date viitoare bazate pe datele învățate.

De exemplu, puteți să instruiți un computer pentru a filtra mesajele spam pe baza informațiilor din trecut.

Învățarea supravegheată a fost utilizată în numeroase aplicații, de ex. Facebook, pentru a căuta imagini pe baza unei anumite descrieri. Acum puteți căuta imagini pe Facebook cu cuvinte care descriu conținutul fotografiei. Deoarece site-ul de socializare are deja o bază de date cu imagini cu titlu, este capabil să caute și să se potrivească descrierii cu caracteristicile din fotografii cu un anumit grad de precizie.

Există doar doi pași implicați în învățarea supravegheată:

  • Instruire
  • testarea

Unii dintre algoritmii de învățare supravegheați includ:

  • copacii de decizie
  • mașini vectoriale de suport
  • naive Bayes
  • k-cel mai apropiat vecin
  • regresie liniara

Exemplu

Vom scrie un program simplu pentru a demonstra modul în care învățarea supravegheată funcționează utilizând biblioteca Sklearn și limba Python. Sklearn este o bibliotecă de învățare a mașinilor pentru limbajul de programare Python cu o serie de caracteristici cum ar fi algoritmi de analiză, regresie și grupare multiple.

De asemenea, Sklearn interacționează bine cu bibliotecile NumPy și SciPy.

Instalați Sklearn

Ghidul de instalare Sklearn oferă o modalitate foarte simplă de instalare a acestuia pentru mai multe platforme. Aceasta necesită mai multe dependențe:

  • Python (> = 2,7 sau> = 3,3),
  • NumPy (> = 1,82)
  • SciPy (> = 0,13,3)

Dacă aveți deja aceste dependențe, puteți instala Sklearn la fel de simplu:

instalare pip -U scikit-learn

O modalitate mai ușoară este să instalați pur și simplu Anaconda. Acest lucru are grijă de toate dependențele, astfel încât să nu trebuie să vă faceți griji cu privire la instalarea lor unul câte unul.

Pentru a testa dacă programul Sklearn rulează corect, pur și simplu importați-l dintr-un interpretor Python după cum urmează:

importați sclearn

Dacă nu apare nici o eroare, atunci sunteți bine să mergeți.

Acum, când am terminat instalarea, să ne întoarcem la problema noastră. Vrem să putem diferenția diferitele animale. Așadar, vom proiecta un algoritm care să poată spune în mod specific dacă un animal dat este fie un cal, fie un pui.

Mai întâi trebuie să colectăm câteva date de probă din fiecare tip de animal. Unele date de probă sunt afișate în tabelul de mai jos.

Înălțime inci) Greutate (kg)
Temperatura (Celsius)
Eticheta
7
0.6
40 Pui (0)
7
0.6 41
Pui (0)
37
0,8 37
Cal (1)
37
0,8 38
Cal (1)

Datele de eșantion pe care le-am obținut oferă unele dintre trăsăturile comune ale celor două animale și date din două animale. Cu cât datele eșantionului sunt mai mari, cu atât vor fi mai precise și mai puțin părtinitoare rezultatele.

Cu acest tip de date, putem codifica un algoritm și îl putem instrui pentru a recunoaște un animal pe baza valorilor antrenate și îl clasificăm fie ca un cal, fie ca un pui. Acum vom merge mai departe și vom scrie algoritmul care va face treaba.

Mai întâi, importați modulul de copaci de la Sklearn.

de la arborele de import al sklearn

Definiți caracteristicile pe care doriți să le utilizați pentru a clasifica animalele.

Caracteristici = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]]

Definiți ieșirea pe care fiecare clasificator o va da. Un pui va fi reprezentat de 0, în timp ce un cal va fi reprezentat de 1.

#labels = [pui, carne de pui, cal, cal] # folosim 0 pentru a reprezenta un pui si 1 pentru a reprezenta o eticheta cal = [0, 0, 1, 1] 

Apoi definim clasificatorul care se va baza pe un arbore de decizie.

classifier = tree.DecisionTreeClassifier ()

Alimentați sau potriviți datele dvs. cu clasificatorul.

classifier.fit (caracteristici, etichete) 

Codul complet al algoritmului este prezentat mai jos.

de la sklearn importă arborele caracteristici = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]] #labels = [pui, ] etichete = [0, 0, 1, 1] classif = tree.DecisionTreeClassifier () classif.fit (caracteristici, etichete)

Acum putem prezice un anumit set de date. Iată cum să prezicăți un animal cu o înălțime de 7 cm, o greutate de 0,6 kg și o temperatură de 41:

de la sklearn importă arborele caracteristici = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]] #labels = [pui, ] labels = [0, 0, 1, 1] classif = tree.DecisionTreeClassifier () classif.fit (caracteristici, etichete) print classif.predict ([[7, 0.6, 41] Pui

Iată cum să prezicăți un animal cu o înălțime de 38 cm, o greutate de 600 kg și o temperatură de 37,5:

de la sklearn importă arborele caracteristici = [[7, 0.6, 40], [7, 0.6, 41], [37, 600, 37], [37, 600, 38]] #labels = [pui, ] labels = [0, 0, 1, 1] classif = tree.DecisionTreeClassifier () classif.fit (caracteristici, etichete) print classif.predict ([38, 600, 37.5] Cal 

După cum puteți vedea mai sus, ați antrenat algoritmul pentru a afla toate caracteristicile și numele animalelor, iar cunoașterea acestor date este utilizată pentru testarea animalelor noi.

Studiile neaservate

Învățarea neaservată este atunci când antrenezi mașina doar cu un set de intrări. Aparatul va putea apoi să găsească o relație între datele de intrare și orice alte informații pe care ați putea dori să le preziceți. Spre deosebire de învățarea supravegheată, în cazul în care prezentați o mașină cu unele date pentru a instrui, învățarea nesupravegheată are rolul de a face computerul să găsească modele sau relații între diferite seturi de date.

Învățarea neaservată poate fi subîmpărțită în:

  • clustering
  • asociere

clustering: Clustering înseamnă gruparea datelor în mod inerent. De exemplu, puteți clasifica obiceiurile de cumpărături ale consumatorilor și le puteți folosi pentru publicitate prin vizarea consumatorilor pe baza achizițiilor și obiceiurilor de cumpărături.

Asociere: Asociația este locul unde identificați reguli care descriu seturi mari de date. Acest tip de învățare poate fi aplicabil în asocierea cărților pe baza unui autor sau a unei categorii, fie că este vorba despre cărți motivaționale, fictive sau educaționale.

Unii dintre algoritmii populare de învățare nesupravegheați includ:

  • k-înseamnă gruparea
  • gruparea ierarhică

Învățarea neaservată va fi o tehnologie importantă în viitorul apropiat. Acest lucru se datorează faptului că există o mulțime de date nefiltrate care nu au fost încă digitalizate.

Concluzie

Sper că acest tutorial v-a ajutat să începeți procesul de învățare în mașină. Aceasta este doar o introducere-mașină de învățare are multe de acoperit, și aceasta este doar o fracțiune din ceea ce de învățare mașină poate face.

În plus, nu ezitați să vedeți ceea ce avem la dispoziție pentru vânzare și pentru studierea pe piața Envato și nu ezitați să adresați întrebări și să oferiți feedback-ul dvs. valoros utilizând feedul de mai jos.

Decizia dvs. de a utiliza fie un algoritm de învățare automată supravegheat sau nesupravegheat va depinde de diferiți factori, cum ar fi structura și mărimea datelor.

Învățarea în mașină poate fi aplicată în aproape toate domeniile vieții noastre, de ex. în prevenirea fraudei, personalizarea fluxurilor de știri pe site-urile media sociale pentru a se potrivi preferințelor utilizatorilor, filtrarea e-mailurilor și a programelor malware, previziunile meteorologice și chiar în sectorul comerțului electronic pentru a anticipa obiceiurile de cumpărături ale consumatorilor.

Cod