update : Bevezettünk egy interaktív tanulási alkalmazást gépi tanuláshoz / AI ,>> Nézd meg most ingyen <<

Importáld a szükséges könyvtárakat

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

‘eps’ itt a legkisebb ábrázolható szám. Időnként log(0) vagy 0-t kapunk a nevezőben, ennek elkerülésére ezt fogjuk használni.

Adatkészlet definiálása:

Pandas adatkeret létrehozása :

Most próbáljuk meg megjegyezni a döntési fa létrehozásának lépéseit…..

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. keressük meg az entrópiát, majd az információnyereséget az adathalmaz felosztásához.

Meghatározunk egy olyan függvényt, amely felveszi az osztályt (célváltozó vektor) és megtalálja az adott osztály entrópiáját.

Itt a tört ‘pi’, ez az adott osztott csoportban lévő elemek számának aránya az osztás előtti csoportban lévő elemek számához(szülőcsoport).

A válasz ugyanaz, mint amit az előző cikkünkben

2 kaptunk.Most definiáljunk egy {ent} függvényt az egyes attribútumok entrópiájának kiszámításához :

tároljuk az egyes attribútumok entrópiáját a nevükkel :

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

3. Minden attribútum infónyereségének kiszámítása :

definiáljunk egy függvényt az IG (infónyereség) kiszámítására :

IG(attr) = adathalmaz entrópiája – attribútum entrópiája

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

minden attr IG-jét egy dict-ben tároljuk :

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

mint láthatjuk a kilátásoknak van a legnagyobb információnyeresége, 0.24 , ezért ezen a szinten outook-ot választjuk csomópontnak a felosztáshoz.

Most a fánk folytatásához rekurziót fogunk használni

Megismételjük ugyanezt az alfáknál, amíg meg nem kapjuk a fát.

Ez alapján építünk egy döntési fát. Alább a teljes kód.

Kódfüggvények a fa építéséhez

látogasson el a pytholabs.com oldalra a csodálatos kurzusokért

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.