uppdatering : Vi har introducerat en interaktiv inlärningsapp för maskininlärning / AI ,>> Kolla in den gratis nu <<

Importera de nödvändiga biblioteken

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

’eps’ är här det minsta representerbara talet. Ibland får vi log(0) eller 0 i nämnaren, för att undvika det ska vi använda detta.

Definiera datasetet:

Skapa pandas dataframe :

Nu ska vi försöka komma ihåg stegen för att skapa ett beslutsträd…..

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. finn entropin och sedan informationsvinsten för att dela upp datamängden.

Vi ska definiera en funktion som tar i klass (målvariabelvektor) och hittar entropin för den klassen.

Här är bråket ”pi”, det är proportionen mellan ett antal element i den delade gruppen och antalet element i gruppen före delningen (modergruppen).

Svaret är detsamma som vi fick i vår tidigare artikel

2 .Definiera nu en funktion {ent} för att beräkna entropin för varje attribut :

lagra entropin för varje attribut med dess namn :

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

3. Beräkna informationsvinsten för varje attribut :

definiera en funktion för att beräkna IG (infogain) :

IG(attr) = datamängdens entropi – attributets entropi

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

lagra IG för varje attr i ett dikt:

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

Som vi kan se har outlook den högsta informationsvinsten på 0.24 , därför kommer vi att välja outook som nod på denna nivå för delning.

Nu för att fortsätta vårt träd kommer vi att använda rekursion

Upprepa samma sak för underträden tills vi får trädet.

Vi bygger ett beslutsträd baserat på detta. Nedan finns hela koden.

Kodfunktioner för att bygga trädet

besök pytholabs.com för fantastiska kurser

Lämna ett svar

Din e-postadress kommer inte publiceras.