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

Maturitatea Masonică prin Scripturi
Maturitatea Masonică prin Scripturi

Sper și mă rog ca această carte să vă lumineze până la punctul de a vă schimba sau cel puțin de a vă adapta. Dacă suntem sinceri, este atât de ușor în lumea de astăzi să ne abatem de la … Citeşte mai mult

Nu a fost votat Citește mai mult
#Malta Hotel
#Malta Hotel

Într-un destin prins între lumi, viața Norei se desfășoară pe granița dintre realitatea în care suferă de o boală gravă de inimă, jocurile video unde avatarul ei domnește peste virtualul digital și visul în care întrupează o superbă luptătoare cu … Citeşte mai mult

Nu a fost votat Citește mai mult
Construirea unui telescop reflector newtonian
Construirea unui telescop reflector newtonian

Sfetcu, Nicolae (2025). ”Construirea unui telescop reflector newtonian”, în Index Academic, I 2025, DOI: 10.58679/IA38211   PDF: https://www.indexacademic.ro/pdf/construirea-unui-telescop-reflector-newtonian/ HTML: https://www.telework.ro/ro/construirea-unui-telescop-reflector-newtonian/   Construirea unui telescop Newtonian este o experiență educativă și satisfăcătoare pentru pasionații de astronomie. Un telescop reflector tip Newton … 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 *