update : Am introdus o aplicație de învățare interactivă pentru învățare automată / AI ,>>Veziți-o gratuit acum <<

Importați bibliotecile necesare

import numpy as np
import pandas as pd
eps = np.finfo(float).eps
from numpy import log2 as log

‘eps’ aici este cel mai mic număr reprezentabil. Uneori obținem log(0) sau 0 la numitor, pentru a evita acest lucru vom folosi acest lucru.

Definiți setul de date:

Create pandas dataframe :

Acum să încercăm să ne amintim pașii pentru a crea un arbore decizional….

1.compute the entropy for data-set2.for every attribute/feature:
1.calculate entropy for all categorical values
2.take average information entropy for the current attribute
3.calculate gain for the current attribute3. pick the highest gain attribute.
4. Repeat until we get the tree we desired
  1. găsiți Entropia și apoi Câștigul de informație pentru împărțirea setului de date.

Vom defini o funcție care primește clasa (vector de variabile țintă) și găsește Entropia acelei clase.

Aici fracția este ‘pi’, este proporția dintre un număr de elemente din acel grup divizat și numărul de elemente din grupul înainte de divizare (grupul părinte).

răspunsul este același pe care l-am obținut în articolul anterior

2 .Acum definiți o funcție {ent} pentru a calcula entropia fiecărui atribut :

stocați entropia fiecărui atribut cu numele său :

a_entropy = {k:ent(df,k) for k in df.keys()}
a_entropy

3. calculați Info gain al fiecărui atribut :

definiți o funcție pentru a calcula IG (infogain) :

IG(attr) = entropia setului de date – entropia atributului

def ig(e_dataset,e_attr):
return(e_dataset-e_attr)

stocați IG al fiecărui attr într-un dict :

#entropy_node = entropy of dataset
#a_entropy = entropy of k(th) attrIG = {k:ig(entropy_node,a_entropy) for k in a_entropy}

cum putem vedea outlook are cel mai mare câștig de informație de 0.24 , prin urmare, vom selecta outook ca nod la acest nivel pentru divizare.

Acum, pentru a continua arborele nostru, vom folosi recursivitatea

Repetăm același lucru pentru subarbori până când obținem arborele.

Construim un arbore de decizie pe baza acestuia. Mai jos este codul complet.

Funcții de cod pentru construirea arborelui

vizitați pytholabs.com pentru cursuri uimitoare

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.