Cele mai bune seturi de date pentru proiecte de învățare automată: tot ce trebuie să știți

Publicat: 2020-03-20

Cuprins

Introducere

Învățarea automată este una dintre cele mai puternice tehnologii folosite astăzi. Este o ramură foarte importantă a inteligenței artificiale folosită pentru a face computerele mai inteligente – oferindu-le capacitatea de a învăța fără intervenția umană. Acest lucru face ca învățarea automată să fie un instrument vital pentru manipularea datelor. Întrucât datele sunt folosite literalmente peste tot, de la luarea deciziilor de afaceri până la gestionarea experiențelor clienților, învățarea automată face mai ușoară identificarea tiparelor ascunse în aceste seturi uriașe de date.

Cel mai important, aceste seturi de date sunt o modalitate de a organiza bucăți uriașe de date brute. Folosind aceste seturi de date, programele sunt scrise pentru a crea aplicații care ușurează operațiunile de afaceri. În acest articol, aflăm despre diferitele seturi de date pentru învățarea automată .

Dar înainte de a intra în asta, să înțelegem mai întâi elementele de bază ale învățării automate.

Ce este Machine Learning?

Învățarea automată este responsabilă pentru alimentarea celor mai preferate platforme, cum ar fi Netflix, Facebook, Twitter, YouTube, Spotify, Google și Baidu. Chiar și asistenții vocali precum Alexa și Siri vă selectează melodiile preferate pentru a utiliza învățarea automată! Toate aceste platforme încearcă să utilizeze datele asociate cu dvs. Acestea includ căutările, clicurile, vizualizările, imaginile pe care le distribuiți, comentariile, reacțiile și postările dvs. Aflați mai multe despre cele mai importante aplicații de învățare automată.

Învățarea automată folosește aceste date pentru a vă face o idee despre preferințele dvs. De exemplu, Netflix îl folosește pentru a sugera un serial TV pe care s-ar putea să-l vizionați cu plăcere, pe baza celor pe care le-ați vizionat. Chiar și platforme precum Amazon utilizează învățarea automată pentru a vă sugera produsele, pe baza istoricului dvs. anterior de achiziții.

Cel mai proeminent segment al pieței învățării automate este învățarea profundă, care poate ajunge până la 1 miliard până în 2025.

Pare interesant? Să intrăm în aspectele tehnice ale subiectului.

Categorii de învățare automată

Învățarea automată este în general împărțită în trei – învățare supravegheată, învățare nesupravegheată și învățare prin consolidare .

Învățare supravegheată

În acest proces, computerul va învăța dintr-un set de date numit date de antrenament . Pe baza acestui lucru, va lua decizii și va prezice rezultate viitoare. Veți afla mai târziu despre seturile de date de instruire pentru învățarea automată . Aici, sistemul este alimentat cu perechi intrare-ieșire și, în timp ce lucrează cu aceste perechi, învață cum sunt mapate împreună. Este ca și cum ai avea un set de întrebări care au răspunsurile corecte etichetate la ele.

Când sistemul sau algoritmul învață relația dintre perechile intrare-ieșire, poate prezice ieșirea atunci când îi este furnizată o nouă intrare. Aflați mai multe despre tipurile de învățare supravegheată.

Învățare nesupravegheată

Aici, computerul analizează seturile de date pentru a identifica modele ascunse fără nicio asistență. Lucrează la sarcini complicate și descoperă rezultatele de la sine. Aflați mai multe despre învățarea nesupravegheată.

Consolidarea învățării

Acest proces de învățare automată folosește o metodă de încercare și eroare pentru a determina soluția unei probleme. Deci rezultatul programului va depinde de intrarea curentă furnizată acestuia.

Acum că aveți o înțelegere de bază a învățării automate, să trecem la seturile de date.

Ce sunt seturile de date pentru învățarea automată?

Un set de date, după cum sugerează și numele, este o colecție de date . Pot fi datele unei singure baze de date, unde o variabilă este utilizată pentru reprezentarea coloanelor. Rândurile acestui tabel pot fi reprezentate de un membru al acestui set de date particular.

Pregătirea seturilor de date pentru învățarea automată este importantă. Acest lucru se datorează faptului că algoritmii nu pot funcționa corect pe date brute sau nestructurate. Este necesar un set de date adecvat pentru a rezolva problemele și pentru a ajunge la decizii. De exemplu, este posibil ca o aplicație meteo să nu aibă setul de date adecvat care să conțină datele climatice din ultimele zile sau săptămâni. Deci, nu va putea oferi prognoze meteo precise pentru săptămâna viitoare.

Astfel, fără seturi de date adecvate pentru învățarea automată , proiectul de învățare automată nu va avea succes nici măcar cu oameni de știință de date instruiți.

Seturile de date pentru învățarea automată sunt utilizate pentru crearea modelelor de învățare automată . Aceste modele reprezintă o problemă din lumea reală folosind o expresie matematică. Pentru a genera un astfel de model, trebuie să îi oferiți un set de date pentru a învăța și a lucra.

Tipurile de seturi de date care sunt utilizate în învățarea automată sunt următoarele:

1. Set de date de antrenament

Acesta este poate cel mai important dintre seturile de date pentru învățarea automată. Este transmis unui algoritm de învățare automată pentru a crea un model. Algoritmul caută modele de date pentru a identifica variabilele de intrare. Acest lucru îl va ajuta să își atingă scopul final sau rezultatul dorit. Rezultatul acestui set de date este un model de învățare automată pe care îl puteți utiliza pentru a prezice rezultate.

Aproximativ 60% din setul de date este preluat de un set de date de antrenament.

2. Setul de date de validare

Un set de date de validare este utilizat în etapa de validare, în timp ce se creează un proiect de învățare automată. Această etapă vine imediat după antrenament. Acest set de date este important pentru evaluarea modelului de învățare automată. Inginerii de învățare automată folosesc acest set pentru a modifica și ajusta hiperparametrii modelului. Acești hiperparametri sunt parametri care au valori setate înainte ca programul să înceapă învățarea.

Valorile lor nu pot fi estimate din date. De exemplu, hiperparametrii pot include adâncimea unui arbore sau un număr de straturi nedetectate într-o rețea neuronală.

Potrivit scriitorilor celebri Max Kuhn și Kjell Johnson , „un model de date trebuie evaluat folosind mostre care nu au fost folosite pentru crearea sau ajustarea lui. Acest lucru vă oferă un rezultat imparțial al eficacității modelului. Când lucrați cu o cantitate mare de date, cel mai bine este să lăsați deoparte câteva mostre de date pentru evaluare. Setul de antrenament este eșantionul utilizat pentru construirea modelului, în timp ce eșantioanele de validare și testare sunt folosite pentru analiza performanței acestuia.”

3. Setul de date de testare

Seturile de date de testare pentru învățarea automată sunt folosite pentru a înțelege cum va funcționa modelul de învățare automată în viitor. Folosind acest set de date, veți putea înțelege cât de precis este modelul dvs. de date. În termeni simpli, acest set de date vă va spune cât de mult a învățat modelul dvs. de date din setul de antrenament.

Aceste seturi ocupă 20% din date. Setul va conține variabile de intrare împreună cu ieșiri verificate. Cu toate acestea, în proiectele de învățare automată , în general, nu folosim un set de date de instruire în etapa de testare. Acest lucru se datorează faptului că algoritmul va fi conștient de rezultatul așteptat, așa cum a învățat anterior din acest set de date.

După faza de testare, modelul de date nu mai este de obicei ajustat. Acest lucru se datorează faptului că ajustările ulterioare pot duce la supraadaptare . Supraajustarea are loc atunci când un model de date este antrenat cu prea multe date. În acest caz, modelul începe să învețe din intrările de date inexacte din setul de date dat. Ca urmare, nu funcționează corect pe seturi de date noi. Este ca și cum ai încerca să te potrivești în blugi supradimensionați când nu poți!

Dar pentru ca modelul de învățare automată să funcționeze cu succes, trebuie să îi oferiți un set de date bun. Fără seturi de date pentru învățarea automată , algoritmul nu va putea învăța și rezolva problemele. De exemplu, atunci când nu aveți cărțile și resursele potrivite, nu puteți trece la testul dorit.

Pregătirea seturi de date pentru învățarea automată

Să aflăm pașii necesari pentru a crea seturi de date pentru învățarea automată .

Colectare de date

Primul pas este să colectați toate datele relevante de care aveți nevoie pentru modelul dvs. de învățare automată. Cantitatea de date va depinde de complexitatea proiectului de învățare automată . Un proiect simplu va necesita mai puține date decât unul complicat. Deci, trebuie să determinați tot ceea ce aveți nevoie de fapt pentru a rezolva problema în cauză.

Datele pot fi colectate cu ușurință, răspunzând la următoarele întrebări:

  • Ce tip de date aveți la dispoziție pentru proiect?
  • Ce date nu sunt disponibile de care aveți nevoie pentru proiect? – Aceasta poate include anumite baze de date sau date stocate în sisteme cloud. Este posibil să fie necesar să obțineți aceste date.
  • Ce date puteți elimina din datele existente? Aceasta înseamnă ștergerea datelor nedorite care sunt irelevante pentru proiectul dvs.

Când aveți răspunsurile la toate aceste întrebări, puteți începe să colectați date din diverse surse. Acestea pot fi fișiere text, fișiere .csv, care analizează structurile de date imbricate în fișiere JSON și XML și depozite de date.

Acum puteți trece la pasul următor în crearea seturilor de date pentru învățarea automată .

Preprocesarea datelor

Acum că aveți toate datele de care aveți nevoie, trebuie să le procesați corespunzător pentru modelul dvs. Metoda de preprocesare este conversia seturilor de date brute în seturi semnificative care sunt utilizabile. Procesul constă din trei pași de mai jos:

Formatare

Datele brute pe care le-ați colectat multe nu sunt într-un format potrivit pentru modelul dvs. de învățare automată. Poate fi într-un fișier JSON sau într-o bază de date relațională. Trebuie să convertiți aceste date într-un fișier text sau într-un fișier .csv, după cum doriți.

Curatenie

Acesta este procesul prin care remediați și eliminați datele lipsă și nedorite din setul dvs. de date. Este posibil ca aceste cazuri de date să nu ajute la rezolvarea problemei. În plus, pot exista informații sensibile în unele dintre atributele pe care ar putea fi necesar să le ascundeți sau să le eliminați complet. Acest lucru face seturile dvs. de date pentru învățarea automată mai semnificative.

Prelevarea de probe

Este posibil să fi colectat mult mai multe date decât aveți nevoie de fapt pentru proiect. Seturile mari de date consumă mult spațiu de memorie. Ele provoacă, de asemenea, timpi de execuție mai lungi și mult mai multe calcule atunci când sunt furnizate unui algoritm de învățare automată. Pentru a evita aceste probleme, trebuie să faceți mostre mai mici din datele selectate pe care modelul dvs. le poate utiliza cu ușurință. Acest proces se numește eșantionare .

Ingineria caracteristicilor

Aici, setul de date este analizat pentru a determina cele mai bune caracteristici și modele care vor ajuta la rezolvarea problemei și la realizarea de predicții. Deci, în acest proces, unele dintre date pot fi eliminate dintr-un set mare de date. Accentul este pus pe cele mai importante caracteristici care se potrivesc modelului.

Datele pot fi descompuse în părți mici pentru a identifica caracteristicile cruciale. De exemplu, datele de vânzări ale unui anumit an pot fi împărțite în luni și zile ale săptămânii. În acest fel, analiza performanței vânzărilor este mai ușoară și mai rapidă. Acest lucru ajută, de asemenea, algoritmul de învățare automată să calculeze mai rapid.

Împărțirea datelor

Acum datele trebuie împărțite în trei seturi - antrenament, testare și validare. Trebuie să-l împărțiți în 70%, 20% și, respectiv, 10% pentru seturi. Pentru o testare adecvată, asigurați-vă că selectați numai subseturi de date care nu se suprapun. Împărțirea corectă a seturilor de date pentru a permite modelului de învățare automată să atingă mai rapid rezultatul dorit. Puteți rafina modelul de date mai târziu.

Ei bine, acum ați învățat cum să creați un set de date pentru un algoritm de învățare automată. Dar ce se întâmplă dacă aveți un proiect în curs și nu aveți timp să vă construiți propriul set de date? Datorită internetului, există multe seturi de date gata de utilizare disponibile din care puteți alege.

Seturi de date de învățare automată online

Iată cele mai utile seturi de date pentru învățarea automată pe web:

  • Setul de date privind locuințele din Boston

O alegere populară printre seturile de date pentru învățarea automată . Este folosit pentru recunoașterea modelelor. Acesta constă în informații despre diferitele case din Boston, inclusiv date precum numărul de camere, rata de impozitare și rata criminalității din zonă. Constând din 506 rânduri și 14 variabile în coloanele de date, setul de date este bun pentru prezicerea prețurilor locuințelor.

  • Setul de date Parkinson

Acest set de date constă din 195 de înregistrări ale pacienților, împreună cu 23 de atribute diferite care au măsurători biomedicale. Puteți utiliza setul de date pentru a separa pacienții sănătoși de cei cu boala Parkinson.

  • IMDB

Un set de date format din 25.000 de recenzii de filme. Acesta este folosit pentru clasificarea sentimentelor binare.

  • MIMIC-III

Acesta este un set de date disponibil în mod deschis, care a fost creat de Laboratorul MIT pentru Fiziologie Computațională. Acesta constă din date de sănătate a aproximativ 40.000 de pacienți de îngrijiri critice. Informații precum medicamentele, testele de laborator, semnele vitale și datele demografice sunt incluse aici.

  • Berkeley DeepDrive BDD100k

Berkeley DeepDrive BDD100k este în prezent cel mai mare set de date folosit pentru dezvoltarea programelor de învățare automată pentru mașinile cu conducere autonomă. Conține mai mult de 100.000 de videoclipuri care conduc în diferite momente ale zilei în diferite condiții climatice. Datele se bazează pe orașele New York și San Francisco.

  • Set de date Uber Pickups

Acest set de date conține informații despre ridicările clienților Uber din aprilie până în septembrie 2014 în New York. Există aproximativ 4,5 milioane de date despre clienți de acest tip și încă 14 milioane din ianuarie până în iunie 2015. Puteți efectua analize de date folosind acest set de date pentru a aduna mai multe informații despre clienți. Acest lucru poate ajuta companiile să-și îmbunătățească afacerea în mod semnificativ.

  • Set de date pentru clienții din centrul comercial

Acesta conține informații despre persoanele care vizitează mall-uri. Setul de date conține detalii precum sexul, vârsta, ID-ul clientului, scorul de cheltuieli și multe altele. Acest lucru poate fi foarte util în marketingul țintă. Pe baza datelor precum vârsta și scorul de cheltuieli, companiile pot segmenta clienții în grupuri. Ei pot crea experiențe unice pentru clienți pentru aceste grupuri.

Concluzie

Așa cum cuvintele și expresiile potrivite fac ca o poezie să rămână cu tine pentru o lungă perioadă de timp, este nevoie de setul de date potrivit pentru un proiect de succes. Acesta este motivul pentru care multe dintre cele mai bune companii recrutează ingineri de date pentru sarcina de a crea cel mai bun set de date pentru un anumit sistem de învățare automată. Așa că fă-ți timp în timp ce pregătești seturile de date pentru învățarea automată .

Dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de formare riguroasă, peste 30 de studii de caz și sarcini, IIIT- B Statut de absolvenți, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Ce este un set de date pentru învățarea automată?

Datele sunt cea mai importantă componentă pentru învățarea automată. Setul de date este o colecție de informații care este folosită pentru a învăța din. Setul de date provine de obicei dintr-o sursă diferită de datele de antrenament. Aceste date sunt folosite pentru a evalua cât de bine funcționează modelul. De exemplu, pentru a antrena un clasificator de imagini, veți folosi imagini din colecția ImageNet. Este de remarcat faptul că o imagine poate fi prezentă atât în ​​seturile de date de antrenament, cât și în cele de testare, dar trebuie să fie în categorii distincte. O altă utilizare populară a seturilor de date este antrenarea algoritmului de recunoaștere a imaginii. Pentru a antrena algoritmul, va trebui să aveți zece mii de imagini cu pisici și zece mii de imagini cu câini. ImageNet este unul dintre seturile de date utilizate pe scară largă în industrie.

Ce este un set de date de validare în învățarea automată?

În învățarea automată supravegheată, avem setul de date de antrenament, care constă din eșantioane de intrări și ieșirile dorite ale acestora. Setul de date de validare este al doilea set de date, pe care nu sunt antrenați parametrii modelului/modelului. Parametrii modelului/modelului sunt estimați pe setul de date de antrenament. Setul de date de validare este utilizat pentru a estima acuratețea așteptată a modelului de învățare supravegheată pe eșantioane nevăzute, adică probe de testare. Setul de date de validare este utilizat pentru a măsura sau estima eroarea de generalizare a modelului de învățare supravegheată.

Care sunt unele seturi de date populare utilizate în învățarea automată?

Există mai multe seturi de date pe care le putem folosi pentru a îmbunătăți învățarea automată. Unele dintre acestea sunt: ​​Datele privind veniturile gospodăriilor și sondajele demografice, Sondajul Biroului de Recensământ al proprietarilor de afaceri din SUA, prețurile bursierelor, Vârsta și sexul cetățenilor americani, Consumul de energie în statele SUA, Procentul de locuințe cumpărate, vândute și închiriate, Hashtag-uri Twitter, Facebook aprecieri și alte activități ale oamenilor de pe Facebook, seturi de date ImageNet Large Scale Visual Recognition Challenge (ILSVRC), volumul lunar de expediere din porturile majore din SUA etc. Există mult mai multe seturi de date pe care le putem folosi pentru învățarea automată.