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

Arbori de decizie în Python pentru clasificare în învățarea automată

Un arbore decizional

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

Imaginile arborilor de decizie din capitolul 27 au fost destul de ilustrative, dar, desigur, pentru a automatiza ceva, trebuie să scriem cod în loc să desenăm imagini. Cum ar arăta Figura 27.1 în cod Python? Este de fapt destul de simplă, deși există o mulțime de indentări imbricate. Vedeți dacă puteți urmări fluxul din Figura 28.1.

Aici definim o funcție numită predict() care primește trei argumente, câte unul pentru fiecare valoare a caracteristicii. Setul uimitor de instrucțiuni if/elif/else pare descurajant la început, dar când îl examinați cu atenție, veți realiza că reflectă perfect structura diagramei. De fiecare dată când coborâm cu un nivel al arborelui, indentăm un tab la dreapta. Corpul instrucțiunii „if major == ‘PSYC’:” este foarte scurt deoarece ramura din stânga arborelui (pentru Psihologie) este foarte simplă. Corpul „elif major == ‘CPSC’ :”, prin contrast, are o structură internă imbricată tocmai pentru că ramura din dreapta a arborelui (pentru Informatică) este complexă. Etc.

def predict(major, age, gender):
if major == 'PSYC':
return 'No'
elif major == 'MATH':
if gender == 'M':
return 'No'
elif gender == 'F' or gender == 'O':
return 'Yes'
elif major == 'CPSC':
if age == 'young':
return 'Yes'
elif age == 'middle':
return 'No'
elif age == 'old':
if gender == 'M' or gender == 'O':
return 'Yes'
elif gender == 'F':
return 'No'

Figura 28.1: O implementare Python a arborelui decizional din Figura 27.1.

Dacă apelăm această funcție, ne va oferi exact aceleași predicții pe care le-am calculat manual:

print(predict('PSYC','M','old'))
print(predict('MATH','O','young'))
print(predict('CPSC','F','old'))
▌No
▌Yes
▌No

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. © 2025 MultiMedia Publishing, Introducere în Știința Datelor, Volumul 1

Pierdut într-o lume efemeră… (Reflecții, însemnări, ficțiuni și poezii existențiale)
Pierdut într-o lume efemeră… (Reflecții, însemnări, ficțiuni și poezii existențiale)

Cartea cuprinde diverse reflecţii, însemnări, ficţiuni şi poezii existenţiale, în care sunt reluate, revizuite, (acolo unde a fost cazul) sau completate însemnările şi poeziile din cartea „Chemarea stelelor (poezii existențiale și însemnări)“, precum şi unele reflecţii din cartea „Mistere fascinante … Citeşte mai mult

Nu a fost votat Citește mai mult
Controversa dintre Isaac Newton și Robert Hooke despre prioritatea în legea gravitației
Controversa dintre Isaac Newton și Robert Hooke despre prioritatea în legea gravitației

Descoperă una dintre cele mai fascinante controverse din istoria științei!

Nu a fost votat Interval de prețuri: 0.00 lei până la 9.32 lei Selectează opțiunile Acest produs are mai multe variații. Opțiunile pot fi alese în pagina produsului.
Singularitățile ca limite ontologice ale relativității generale
Singularități gravitaționale

Singularitățile gravitaționale în relativitatea generală sunt locații în spațiu-timp unde câmpul gravitațional devine infinit. Curburile invariabile scalare ale spațiu-timpului includ o măsură a densității materiei. Unii fizicieni și filosofi consideră că, deoarece densitatea materiei tinde spre infinit în singularitate, legile … Citeşte mai mult

Nu a fost votat 0.00 lei Adaugă în coș


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 *