Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Solmujen Jakaminen | Päätöspuu
Luokittelu Pythonilla

bookSolmujen Jakaminen

Koulutuksen aikana on löydettävä paras jako jokaisessa päätössolmussa. Kun jaamme datan kahteen solmuun, tavoitteena on, että eri luokat sijoittuvat eri solmuihin.

  • Paras mahdollinen tilanne: kaikki solmun tietopisteet kuuluvat samaan luokkaan;
  • Heikoin mahdollinen tilanne: jokaisessa luokassa on yhtä monta tietopistettä.

Gini-epäpuhtaus

Jakamisen laadun mittaamiseen voidaan laskea Gini-epäpuhtaus. Se on todennäköisyys, että jos satunnaisesti valitaan kaksi pistettä samasta solmusta (palauttaen), ne kuuluvat eri luokkiin. Mitä pienempi tämä todennäköisyys (epäpuhtaus) on, sitä parempi jako.

Gini-epäpuhtauden laskeminen binääriluokittelussa tapahtuu seuraavalla kaavalla:

gini=1p02p12=1(m0m)2(m1m)2\text{gini} = 1 - p_0^2 - p_1^2 = 1 - (\frac{m_0}{m})^2 - (\frac{m_1}{m})^2

Missä

  • mim_i – luokan ii havaintojen määrä solmussa;
  • mm – havaintojen määrä solmussa;
  • pi=mimp_i = \frac{m_i}{m} – todennäköisyys valita luokka ii.

Moniluokkaluokittelussa kaava on:

gini=1i=0Cpi2=1i=0C(mim)2\text{gini} = 1 - \sum_{i=0}^C p_i^2 = 1 - \sum_{i=0}^C(\frac{m_i}{m})^2

Missä

  • CC – luokkien määrä.

Jaon laatua voidaan mitata ottamalla Gini-arvojen painotettu summa molemmille solmuille, jotka saadaan jaosta. Tätä arvoa pyritään minimoimaan.

Päätössolmun jakamiseksi on löydettävä ominaisuus, jonka perusteella jakaminen tehdään, sekä kynnysarvo:

Päätössolmussa algoritmi etsii ahneesti parhaan kynnysarvon jokaiselle piirteelle. Tämän jälkeen se valitsee jaon, jolla on alin Gini-epäpuhtaus kaikista piirteistä (tasatilanteessa valinta tehdään satunnaisesti).

Entropia

Entropia on toinen epäpuhtauden mittari. Binäärisessä luokitteluongelmassa solmun entropia HH lasketaan kaavalla:

H(p)=plog2(p)(1p)log2(1p)H(p) = -p \log_2(p) - (1 - p) \log_2(1 - p)

missä:

  • pp on positiivisten esimerkkien osuus (luokka 1);
  • 1p1 - p on negatiivisten esimerkkien osuus (luokka 0).

Moniluokkaluokittelussa solmun entropia HH lasketaan kaavalla:

H(p1,p2,,pk)=i=1kpilog2(pi)H(p_1, p_2, \dots, p_k) = -\sum_{i=1}^{k} p_i \log_2(p_i)

missä:

  • kk on luokkien määrä;
  • pip_i on solmussa luokkaan ii kuuluvien esimerkkien osuus.

Samoin kuin Gini-epäpuhtauden kohdalla, jaon laatua voidaan mitata laskemalla lasten solmujen entropia-arvojen painotettu summa. Tämä on arvo, joka halutaan minimoida informaation määrän kasvattamiseksi.

Note
Huomio

Entropia on maksimissaan, kun kaikki luokat ovat yhtä edustettuina. Se on minimissään (0), kun kaikki esimerkit kuuluvat yhteen luokkaan (puhdas solmu).

question mark

Valitse parempi jako.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain the difference between Gini impurity and entropy?

How do you choose between using Gini impurity and entropy in practice?

Can you show an example calculation for Gini impurity or entropy?

Awesome!

Completion rate improved to 4.17

bookSolmujen Jakaminen

Pyyhkäise näyttääksesi valikon

Koulutuksen aikana on löydettävä paras jako jokaisessa päätössolmussa. Kun jaamme datan kahteen solmuun, tavoitteena on, että eri luokat sijoittuvat eri solmuihin.

  • Paras mahdollinen tilanne: kaikki solmun tietopisteet kuuluvat samaan luokkaan;
  • Heikoin mahdollinen tilanne: jokaisessa luokassa on yhtä monta tietopistettä.

Gini-epäpuhtaus

Jakamisen laadun mittaamiseen voidaan laskea Gini-epäpuhtaus. Se on todennäköisyys, että jos satunnaisesti valitaan kaksi pistettä samasta solmusta (palauttaen), ne kuuluvat eri luokkiin. Mitä pienempi tämä todennäköisyys (epäpuhtaus) on, sitä parempi jako.

Gini-epäpuhtauden laskeminen binääriluokittelussa tapahtuu seuraavalla kaavalla:

gini=1p02p12=1(m0m)2(m1m)2\text{gini} = 1 - p_0^2 - p_1^2 = 1 - (\frac{m_0}{m})^2 - (\frac{m_1}{m})^2

Missä

  • mim_i – luokan ii havaintojen määrä solmussa;
  • mm – havaintojen määrä solmussa;
  • pi=mimp_i = \frac{m_i}{m} – todennäköisyys valita luokka ii.

Moniluokkaluokittelussa kaava on:

gini=1i=0Cpi2=1i=0C(mim)2\text{gini} = 1 - \sum_{i=0}^C p_i^2 = 1 - \sum_{i=0}^C(\frac{m_i}{m})^2

Missä

  • CC – luokkien määrä.

Jaon laatua voidaan mitata ottamalla Gini-arvojen painotettu summa molemmille solmuille, jotka saadaan jaosta. Tätä arvoa pyritään minimoimaan.

Päätössolmun jakamiseksi on löydettävä ominaisuus, jonka perusteella jakaminen tehdään, sekä kynnysarvo:

Päätössolmussa algoritmi etsii ahneesti parhaan kynnysarvon jokaiselle piirteelle. Tämän jälkeen se valitsee jaon, jolla on alin Gini-epäpuhtaus kaikista piirteistä (tasatilanteessa valinta tehdään satunnaisesti).

Entropia

Entropia on toinen epäpuhtauden mittari. Binäärisessä luokitteluongelmassa solmun entropia HH lasketaan kaavalla:

H(p)=plog2(p)(1p)log2(1p)H(p) = -p \log_2(p) - (1 - p) \log_2(1 - p)

missä:

  • pp on positiivisten esimerkkien osuus (luokka 1);
  • 1p1 - p on negatiivisten esimerkkien osuus (luokka 0).

Moniluokkaluokittelussa solmun entropia HH lasketaan kaavalla:

H(p1,p2,,pk)=i=1kpilog2(pi)H(p_1, p_2, \dots, p_k) = -\sum_{i=1}^{k} p_i \log_2(p_i)

missä:

  • kk on luokkien määrä;
  • pip_i on solmussa luokkaan ii kuuluvien esimerkkien osuus.

Samoin kuin Gini-epäpuhtauden kohdalla, jaon laatua voidaan mitata laskemalla lasten solmujen entropia-arvojen painotettu summa. Tämä on arvo, joka halutaan minimoida informaation määrän kasvattamiseksi.

Note
Huomio

Entropia on maksimissaan, kun kaikki luokat ovat yhtä edustettuina. Se on minimissään (0), kun kaikki esimerkit kuuluvat yhteen luokkaan (puhdas solmu).

question mark

Valitse parempi jako.

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 2
some-alt