entropie și câștig de informații în arborii de decizie
o privire simplă asupra unor concepte cheie ale teoriei informațiilor și cum să le folosiți atunci când construiți un algoritm de arbore de decizie.
ce criterii ar trebui să utilizeze un algoritm arbore de decizie pentru a împărți variabile / coloane?
înainte de a construi un algoritm arbore de decizie, primul pas este să răspundeți la această întrebare. Să aruncăm o privire la una dintre modalitățile de a răspunde la această întrebare. Pentru a face acest lucru, va trebui să înțeleagă o utilizare câteva concepte cheie din teoria informației.
să examinăm această metodă făcând următorii pași:
aruncați o privire foarte scurtă la ceea ce este un arbore de decizie.
definiți și examinați formula pentru entropie.
discutați ce este un pic în teoria informației.
definiți câștigul de informații și utilizați entropia pentru a-l calcula.
scrieți câteva funcții Python de bază folosind conceptele de mai sus.
în știința datelor, algoritmul arborelui decizional este un algoritm de învățare supravegheat pentru probleme de clasificare sau regresie. Scopul nostru final este de a utiliza datele istorice pentru a prezice un rezultat. Spre deosebire de regresia liniară, arborii de decizie pot prelua interacțiuni neliniare între variabilele din date.
să ne uităm la un arbore de decizie foarte simplu. Mai jos este un flux de lucru care poate fi folosit pentru a lua o decizie dacă să mănânci sau nu un cookie cu unt de arahide.
în acest exemplu, un arbore de decizie poate ridica faptul că ar trebui să mâncați cookie-ul numai dacă sunt îndeplinite anumite criterii. Acesta este scopul final al unui arbore de decizie. Vrem să continuăm să luăm decizii (divizări) până când sunt îndeplinite anumite criterii. Odată întâlnit, îl putem folosi pentru a clasifica sau a face o predicție. Acest exemplu este foarte de bază folosind doar două variabile (alergie, ruinarea cina). Dar, dacă aveți un set de date cu mii de variabile/coloane cum decideți care variabile/coloane sunt cele mai eficiente pentru a împărți pe? O modalitate populară de a rezolva această problemă, mai ales dacă utilizați un algoritm ID3, este utilizarea entropiei și a câștigului de informații.
sarcina
Să presupunem că avem unele date și vrem să-l folosească pentru a face un test online care prezice ceva despre taker test. După ce ne-am uitat la relațiile din date, am decis să folosim un algoritm de arbore de decizie. Dacă nu ați fost niciodată aspirat într-un test online, puteți vedea sute de exemple aici. Scopul testului va fi de a ghici dacă test taker este de la unul dintre statele midwest Americii. Întrebările din test se vor învârti în jurul dacă le place un anumit tip de mâncare sau nu. Mai jos are un mic set de date fictiv cu cincisprezece intrări. Fiecare intrare are răspunsuri la o serie de întrebări. Cele mai multe întrebări sunt despre dacă le-a plăcut un anumit tip de mâncare, în care participantul a răspuns (1) Pentru da sau (0) deocamdată. Ultima coloană („midwest?”) este coloana noastră țintă, ceea ce înseamnă că, odată ce arborele de decizie este construit, aceasta este clasificarea pe care încercăm să o ghicim.
entropie
pentru a ne începe vom folosi o metrică a teoriei informației numită entropie. În știința datelor, entropia este utilizată ca o modalitate de a măsura cât de „mixtă” este o coloană. Mai exact, entropia este utilizată pentru a măsura tulburarea. Să începem prin a găsi entropia coloanei noastre țintă, ” midwest?”.
împărțirea noastră stângă are două persoane din șase din Midwest. Partea dreaptă are opt din cele nouă persoane din midwest. Aceasta a fost o divizare eficientă și a redus entropia noastră pe ambele părți. Dacă ar fi să continuăm, am folosi recursivitatea pentru a continua Să împărțim fiecare divizare cu scopul de a încheia fiecare ramură cu o entropie de zero.
concluzie
arborii de decizie pot fi un algoritm util de învățare automată pentru a detecta interacțiunile neliniare dintre variabilele din date. În acest exemplu, am analizat etapele de început ale unui algoritm de clasificare a arborelui decizional. Apoi am analizat trei concepte ale teoriei informației, entropia, bitul și câștigul de informații. Folosind aceste concepte am reușit să construim câteva funcții în Python pentru a decide care variabile/coloane au fost cele mai eficiente de împărțit. Cu o înțelegere fermă asupra acestor concepte, putem merge mai departe pentru a construi un arbore de decizie.