opdatering : Vi har introduceret en interaktiv læringsapp til maskinlæring / AI ,>> Tjek det ud gratis nu <<

Import de nødvendige biblioteker

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

‘eps’ her er det mindste repræsenterbare tal. Til tider får vi log(0) eller 0 i nævneren, for at undgå det skal vi bruge dette.

Definer datasættet:

Opret pandas dataframe :

Nu skal vi prøve at huske trinene for at oprette et beslutningstræ….

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. find entropien og derefter informationsgevinsten for opdeling af datasættet.

Vi vil definere en funktion, der tager i klasse (målvariabelvektor) og finder entropien for den pågældende klasse.

Her er brøken ‘pi’, det er andelen af et antal elementer i den splittede gruppe i forhold til antallet af elementer i gruppen før opsplitning(modergruppe).

svaret er det samme som vi fik i vores tidligere artikel

2 .Definer nu en funktion {ent} til at beregne entropi for hver attribut :

lagre entropi for hver attribut med dens navn :

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

3. beregne infogevinst for hver attribut :

definere en funktion til beregning af IG (infogain) :

IG(attr) = entropi for datasæt – entropi for attribut

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

lagre IG for hver attr i et dict :

#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øjeste info-gevinst på 0.24 , derfor vil vi vælge outook som knude på dette niveau til opsplitning.

Nu vil vi for at fortsætte vores træ bruge rekursion

Gentag det samme for undertræer, indtil vi får træet.

Vi opbygger et beslutningstræ på baggrund af dette. Nedenfor er den komplette kode.

Kodefunktioner til opbygning af træet

besøg pytholabs.com for fantastiske kurser

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.