Home » Articole » Articole » Afaceri » Știința datelor (Data Science) » Învățarea automată (Machine learning) » Arbori decizionali pentru clasificare în învățarea automată

Arbori decizionali pentru clasificare în învățarea automată

Până acum, imaginea noastră despre clasificare a fost foarte generală. Nu am spus nimic despre cum ar putea funcționa de fapt clasificatorul nostru; am spus doar că, având în vedere valorile pentru fiecare dintre caracteristici, acesta va oferi o predicție despre cum va fi eticheta.

În capitolele 27 și 28, vom studia un anumit algoritm pentru clasificare în învățarea automată: algoritmul arborelui decizional. Nu numai că reprezintă o tehnică introductivă bună datorită atractivității sale intuitive și nu numai că poate clasifica destul de bine în sine, dar servește și ca bază pentru o metodă de clasificare mai sofisticată, de ultimă generație, numită „pădure aleatorie”, pe care o vom explora în volumul doi al acestei serii.

Un exemplu funcțional

Iată o problemă de domeniu (fictivă) pe care o vom folosi pentru a demonstra principiile din acest capitol și din următorul. Să presupunem că deținem o afacere cu jocuri video și vrem să trimitem cataloage de produse color studenților neavizați, astfel încât aceștia să cumpere jocurile noastre și să ne mențină în afacere (în timp ce, între timp, eșuează la școală din cauza faptului că joacă mereu jocuri).

Acum, cataloagele color sunt scumpe de imprimat și expediat, așa că vrem să fim inteligenți în această privință. Cu siguranță nu vrem să trimitem o grămadă de cataloage studenților care nu sunt probabili cumpărători; asta ne-ar falimenta. În schimb, am dori să identificăm subsetul de studenți care probabil sunt jucători și să trimitem cataloage doar acelor studenți.

Să presupunem că, prin mijloace necinstite, am obținut următorul set de date:

 

Materia Vârsta Gen Jucător
0 PSYC 22 F Nu
1 MATH 20 F Nu
2 PSYC 19 F Nu
3 CPSC 20 M Da
4 MATH 18 M Da
5 CPSC 20 F Nu
6 CPSC 19 O Nu
7 CPSC 17 M Da
8 PSYC 18 F Nu
9 CPSC 20 F Nu
10 MATH 18 F Nu
11 CPSC 22 F Da
12 MATH 21 M Nu
13 CPSC 23 M Da
14 PSYC 17 M Da
15 CPSC 18 F Nu
16 PSYC 19 F Da

 

Fiecare rând reprezintă un student, cu trei caracteristici. Prima este specializarea sa – PSYC (Psihologie), MATH (Matematică) sau CPSC (Informatică). (Pentru simplitate, vom spune că acestea sunt singurele trei posibilități, deoarece autorului tău îi plac cel mai mult.) A doua este vârsta lor (numerică), iar a treia este sexul lor: masculin, feminin sau altul. Ultima coloană este ținta noastră: dacă acest student este sau nu un jucător video. Aruncați o privire peste acest DataFrame pentru o clipă.

Cu ochii pe ce e important

După cum vă amintiți din secțiunea 26.3, înainte de a ne gândi la caracteristici, am putea să ne alocăm un minut pentru a analiza variabila țintă în sine. Ne întrebăm „dacă nu avem alte informații despre un student, care ar fi impresia noastră despre statutul său în jocuri video?” Prietena noastră, metoda .value_counts() este perfectă pentru a calcula asta:

print(students.VG.value_counts())
▌N 10
▌Y 7
▌Name: VG, dtype: int64

Deci, dacă suntem deștepți, am ghici „nu” pentru astfel de persoane misterioase, dar ne-am putea aștepta să avem dreptate doar în jurul valorii de 10/17, sau 59%, din cazuri. Nu e grozav, deși e mai bine decât o aruncare cu o monedă.

Rămânând la caracteristicile categorice

Acum se pare că arborii de decizie funcționează cel mai bine cu toate caracteristicile categorice, nu cu un amestec de categorice și numerice. Așadar, deocamdată, vom clasifica pur și simplu fiecare dintre studenții noștri în trei categorii: „tineri” (18 ani sau mai mici), „mijlocii” (19-21 ani) și „bătrâni” (22+)[1]. Deocamdată, nu întrebați de ce am ales trei categorii de vârstă în loc de două sau patru și nu întrebați de ce am ales acele puncte de divizare anume. Tocmai am făcut-o. Mai multe despre asta mai târziu.

Datele noastre de antrenament arată acum astfel:

Materia Vârsta Gen Jucător
0 PSYC bătrân F Nu
1 MATH mijlociu F Nu
2 PSYC mijlociu F Nu
3 CPSC mijlociu M Da
4 MATH tânăr M Da
5 CPSC mijlociu F Nu
6 CPSC mijlociu O Nu
7 CPSC tânăr M Da
8 PSYC tânăr F Nu
9 CPSC mijlociu F Nu
10 MATH tânăr F Nu
11 CPSC bătrân F Da
12 MATH mijlociu M Nu
13 CPSC bătrân M Da
14 PSYC tânăr M Da
15 CPSC tânăr F Nu
16 PSYC mijlociu F Da

 

și acum suntem oficial pregătiți să luăm în considerare arborii decizionali.

Arbori decizionali

Mai întâi, să înțelegem ce este un arbore decizional. Exemplul nostru inaugural este prezentat în Figura 27.1. Primul lucru pe care îl veți observa este că are o structură ramificată care se ramifică… în jos. Nu sunt sigur de ce specialiștii în date desenează copaci care cresc în jos, în timp ce restul lumii (inclusiv copacii înșiși: uitați-vă afară dacă nu mă credeți) îi are crescând în sus, dar aceasta este convenția, așa că ne vom ocupa pur și simplu de asta. Pentru a fi și mai comic, ovalul din vârful arborelui se numește rădăcina arborelui. Serios.

Continuând analogia botanică, liniile care leagă diferitele forme sunt, așa cum ați putea bănui, numite ramuri, iar dreptunghiurile mai închise la culoare se numesc frunze. O parte din jargonul non-botanic este denumirea celorlalte ovale: acestea se numesc noduri.

Un arbore decizional

Un arbore decizional (nu unul deosebit de bun, după cum se va dovedi) pentru setul de date despre jocuri video.

Clasificarea cu un arbore decizional

Bine. Acum ce „înseamnă” un arbore decizional? Pe scurt, este codificarea picturală a unui algoritm de clasificare. Mai liber spus, este o hartă care îi spune clasificatorului tău ce reguli să urmeze pe măsură ce își formează predicția pentru un punct de date de exemplu.

Pur și simplu începi de la rădăcină, luând în considerare valorile caracteristicilor la fiecare nod și urmând ramura corespunzătoare în josul arborelui. Când ajungi la o frunză, predicția pe care o dai este scrisă pe nodul frunzei. Este atât de simplu.

  • Primul exemplu: să presupunem că avem un tânăr de 24 de ani, student la Psihologie. Vrem să știm dacă este probabil să joace jocuri video. Arborele decizional din Figura 27.1 ne spune să luăm în considerare mai întâi specializarea lui, deoarece aceasta este rădăcina. Acum, deoarece specializarea acestui tip este PSYC, luăm ramura din stânga și am terminat imediat: am ajuns deja la o frunză. Predicția noastră pentru acest tip va fi Nu, probabil că nu joacă jocuri video.
  • Al doilea exemplu: avem un tânăr de 18 ani, student la Matematică, care nu se identifică cu niciunul dintre genurile binare. Începând din nou de la rădăcină, urmăm acum ramura din mijloc pentru MATH. Acum, ne uităm la sexul persoanei. Deoarece este 0, urmăm ramura din dreapta și facem o predicție de Da: prezicem că joacă jocuri video.
  • Al treilea exemplu: avem acum o tânără de 22 de ani, studentă la Informatică. Credem că ar juca jocuri video? Rădăcina ne spune să ne uităm mai întâi la specializarea ei, ceea ce înseamnă că mergem la dreapta; apoi ne uităm la vârsta ei și, din moment ce este pozitiv în vârstă, mergem din nou la dreapta; și, în final, sexul ei ne spune să prezicem Nu, probabil că nu este o jucătoare.

Majoritatea studenților consideră acest proces foarte simplu. În capitolul următor, vom analiza două întrebări cheie: în primul rând, cum să transformăm o diagramă precum Figura 27.1 în cod Python? Și în al doilea rând, care este cea mai bună modalitate de a crea un arbore bun – adică unul care face cât mai multe predicții reușite posibil?

[1] Credeți sau nu, va veni un moment în viața voastră când 22 de ani nu vor mai părea nici pe departe „bătrâni”. Pentru studenții de licență, însă, înțeleg de ce 22 de ani ar părea cam gri, în ciuda cântecului lui Taylor Swift.

Sursa: Stephen Davies, The Crystal Ball – Instruction Manual, Vol. 1: Introduction to Data Science, v. 1.1. Copyright © 2021 Stephen Davies. Licența CC BY-SA 4.0. Traducere și adaptare: Nicolae Sfetcu. © 2024 MultiMedia Publishing, Introducere în Știința Datelor, Volumul 1

Planul înclinat și coeficientul de frecare μ
Planul înclinat și coeficientul de frecare μ

© 2025 Nicolae Sfetcu Sfetcu, Nicolae (2025). ”Planul înclinat și coeficientul de frecare μ”, în Index Academic, I 2025, DOI: 10.58679/IA64270   PDF: https://www.indexacademic.ro/pdf/planul-inclinat-si-coeficientul-de-frecare-%ce%bc/ HTML: https://www.telework.ro/ro/planul-inclinat-si-coeficientul-de-frecare-%ce%bc/   Concepte: frecare statică/dinamică. Ce faci: crești unghiul până când un obiect începe să … Citeşte mai mult

Nu a fost votat 0.00 lei Adaugă în coș
Platon, Republica: Despre justiție – Dialectica și educația
Platon: Educația – Filosoful-rege

Sfetcu, Nicolae, „Platon: Educația – Filosoful-rege”, în Telework, DOI: 10.13140/RG.2.2.23824.89604, URL = https://www.telework.ro/ro/platon-educatia-filosoful-rege/   Modelul educațional al lui Platon (paidèia) diferențiază nivelul educației în funcție de aptitudinile elevilor. Astfel, o educație de bază include, pe lângă gimnastică și luptă (exercițiul … Citeşte mai mult

Nu a fost votat 0.00 lei Adaugă în coș
Revista IT & C, Volumul 1, Numărul 1, Septembrie 2022
IT & C, Volumul 1, Numărul 1, Septembrie 2022

Revista IT & C este o publicație trimestrială din domeniile tehnologiei informației și comunicații, și domenii conexe de studiu și practică. Cuprins: EDITORIAL Cu sau fără Internet?, de Nicolae Sfetcu TEHNOLOGIA INFORMAȚIEI Tehnologia blockchain, de Nicolae Sfetcu TELECOMUNICAȚII Rețelele de … Citeşte mai mult

Nu a fost votat 8.73 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.


Descoperă mai multe la MultiMedia

Abonează-te ca să primești ultimele articole prin email.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *