aggiornamento: Abbiamo introdotto un’applicazione interattiva di apprendimento per l’apprendimento automatico / AI, >> Controlla gratuitamente ora <<

Importa le librerie richieste

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

‘eps’ qui è il più piccolo numero rappresentabile. A volte otteniamo log(0) o 0 nel denominatore, per evitare ciò useremo questo.

Definire il dataset:

Creare pandas dataframe :

Ora proviamo a ricordare i passi per creare un albero decisionale….

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. trovare l’Entropia e poi il Guadagno di Informazione per dividere l’insieme dei dati.

Definiremo una funzione che prende in classe (vettore variabile target) e trova l’entropia di quella classe.

Qui la frazione è ‘pi’, è la proporzione di un numero di elementi in quel gruppo scisso rispetto al numero di elementi nel gruppo prima della scissione (gruppo padre).

la risposta è la stessa che abbiamo ottenuto nel nostro articolo precedente

2 .Ora definiamo una funzione {ent} per calcolare l’entropia di ogni attributo :

conserviamo l’entropia di ogni attributo con il suo nome :

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

3. calcolare il guadagno informativo di ogni attributo :

definire una funzione per calcolare IG (infogain) :

IG(attr) = entropia del dataset – entropia dell’attributo

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

salvare IG di ogni attr in 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}

come possiamo vedere outlook ha il più alto info gain di 0.24 , quindi selezioneremo outook come nodo a questo livello per la divisione.

Ora per procedere il nostro albero useremo la ricorsione

Ripetiamo la stessa cosa per i sottoalberi fino ad ottenere l’albero.

Costruiamo un albero di decisione basato su questo. Di seguito il codice completo.

Funzioni di codice per costruire l’albero

visita pytholabs.com per corsi incredibili

.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.