update : Olemme ottaneet käyttöön interaktiivisen oppimissovelluksen koneoppimista / tekoälyä varten ,>> Tsekkaa se nyt ilmaiseksi <<

Importoi tarvittavat kirjastot

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

’eps’ tässä on pienin esitettävä luku. Toisinaan saamme nimittäjään log(0) tai 0, sen välttämiseksi käytämme tätä.

Määrittele dataset:

Luo pandas-datakehys :

Yritetäänpä nyt muistella vaiheet päätöksentekopuiden luomiseksi…..

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. löydetään ensin entropia ja sitten informaatiovoitto aineiston jakamiseksi.

Määritellään funktio, joka ottaa luokan (kohdemuuttujan vektori) ja löytää kyseisen luokan entropian.

Tässä murtoluku on ’pi’, se on kyseisessä jaetussa ryhmässä olevien elementtien lukumäärän suhde ennen jakamista(emoryhmä) olevan ryhmän elementtien lukumäärään.

Vastaus on sama, jonka saimme aiemmassa artikkelissamme

>

2 .Määritellään nyt funktio {ent}, jolla lasketaan kunkin attribuutin entropia :

tallennetaan kunkin attribuutin entropia sen nimellä :

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

3. Lasketaan kunkin attribuutin infovoitto :

määritellään funktio IG:n (infovoitto) laskemiseksi :

IG(attr) = datasetin entropia – attribuutin entropia

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

tallennetaan kunkin attr:n IG diktiin :

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

kuten näemme outlookilla on suurin infovoitto 0.24 , joten valitsemme outookin tämän tason solmuksi jaettavaksi.

Nyt jatkaaksemme puuta käytämme rekursiota

toistamme saman asian alipuille, kunnes saamme puun.

Rakennamme päätöspuun tämän perusteella. Alla on täydellinen koodi.

Koodifunktiot puun rakentamiseen

vierailkaa osoitteessa pytholabs.com hämmästyttäviä kursseja varten

Vastaa

Sähköpostiosoitettasi ei julkaista.