Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Het Splitsen van de Knooppunten | Beslisboom
Classificatie met Python

bookHet Splitsen van de Knooppunten

Tijdens het trainen moeten we de beste splitsing bij elke beslissingsknoop vinden. Wanneer we de data splitsen in twee knopen, streven we ernaar om verschillende klassen in aparte knopen te plaatsen.

  • Beste scenario: alle datapunten in een knoop behoren tot dezelfde klasse;
  • Slechtste scenario: een gelijk aantal datapunten voor elke klasse.

Gini-onzuiverheid

Om te meten hoe goed een splitsing is, kunnen we de Gini-onzuiverheid berekenen. Dit is de kans dat als we willekeurig twee punten uit een knoop nemen (met teruglegging), deze tot verschillende klassen behoren. Hoe lager deze kans (onzuiverheid), hoe beter de splitsing.

De Gini-onzuiverheid voor binaire classificatie kan worden berekend met de volgende formule:

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

Waarbij

  • mim_i - aantal instanties van klasse ii in een knoop;
  • mm - aantal instanties in een knoop;
  • pi=mimp_i = \frac{m_i}{m} - kans op het kiezen van klasse ii.

Voor multiclass-classificatie is de formule:

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

Waarbij

  • CC - aantal klassen.

De kwaliteit van de splitsing kan worden gemeten door de gewogen som van Gini-scores voor beide knopen die uit een splitsing zijn verkregen. Dit is de waarde die we willen minimaliseren.

Om een beslissingsknoop te splitsen, moet een kenmerk en een drempelwaarde worden gevonden:

Bij een beslissingsknooppunt vindt het algoritme gretig de beste drempelwaarde voor elk kenmerk. Vervolgens kiest het de splitsing met de laagste Gini-onzuiverheid van alle kenmerken (bij een gelijke stand wordt willekeurig gekozen).

Entropie

De entropie is een andere maat voor de onzuiverheid. Voor een binair classificatieprobleem wordt de entropie HH van een knooppunt berekend met de formule:

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

waarbij:

  • pp het aandeel positieve voorbeelden (klasse 1) is;
  • 1p1 - p het aandeel negatieve voorbeelden (klasse 0) is.

Voor een multiklassen-classificatieprobleem wordt de entropie HH van een knooppunt berekend met de formule:

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)

waarbij:

  • kk het aantal klassen is;
  • pip_i het aandeel voorbeelden behorend tot klasse ii in het knooppunt is.

Net als bij Gini-onzuiverheid kan worden gemeten hoe goed een splitsing is door de gewogen som van entropiewaarden voor de kindknooppunten te berekenen die uit de splitsing voortkomen. Dit is de waarde die men wil minimaliseren om de informatieopbrengst te maximaliseren.

Note
Opmerking

De entropie is maximaal wanneer alle klassen gelijk vertegenwoordigd zijn. De entropie is minimaal (0) wanneer alle voorbeelden tot één klasse behoren (pure knoop).

question mark

Kies een betere splitsing.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

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

bookHet Splitsen van de Knooppunten

Veeg om het menu te tonen

Tijdens het trainen moeten we de beste splitsing bij elke beslissingsknoop vinden. Wanneer we de data splitsen in twee knopen, streven we ernaar om verschillende klassen in aparte knopen te plaatsen.

  • Beste scenario: alle datapunten in een knoop behoren tot dezelfde klasse;
  • Slechtste scenario: een gelijk aantal datapunten voor elke klasse.

Gini-onzuiverheid

Om te meten hoe goed een splitsing is, kunnen we de Gini-onzuiverheid berekenen. Dit is de kans dat als we willekeurig twee punten uit een knoop nemen (met teruglegging), deze tot verschillende klassen behoren. Hoe lager deze kans (onzuiverheid), hoe beter de splitsing.

De Gini-onzuiverheid voor binaire classificatie kan worden berekend met de volgende formule:

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

Waarbij

  • mim_i - aantal instanties van klasse ii in een knoop;
  • mm - aantal instanties in een knoop;
  • pi=mimp_i = \frac{m_i}{m} - kans op het kiezen van klasse ii.

Voor multiclass-classificatie is de formule:

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

Waarbij

  • CC - aantal klassen.

De kwaliteit van de splitsing kan worden gemeten door de gewogen som van Gini-scores voor beide knopen die uit een splitsing zijn verkregen. Dit is de waarde die we willen minimaliseren.

Om een beslissingsknoop te splitsen, moet een kenmerk en een drempelwaarde worden gevonden:

Bij een beslissingsknooppunt vindt het algoritme gretig de beste drempelwaarde voor elk kenmerk. Vervolgens kiest het de splitsing met de laagste Gini-onzuiverheid van alle kenmerken (bij een gelijke stand wordt willekeurig gekozen).

Entropie

De entropie is een andere maat voor de onzuiverheid. Voor een binair classificatieprobleem wordt de entropie HH van een knooppunt berekend met de formule:

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

waarbij:

  • pp het aandeel positieve voorbeelden (klasse 1) is;
  • 1p1 - p het aandeel negatieve voorbeelden (klasse 0) is.

Voor een multiklassen-classificatieprobleem wordt de entropie HH van een knooppunt berekend met de formule:

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)

waarbij:

  • kk het aantal klassen is;
  • pip_i het aandeel voorbeelden behorend tot klasse ii in het knooppunt is.

Net als bij Gini-onzuiverheid kan worden gemeten hoe goed een splitsing is door de gewogen som van entropiewaarden voor de kindknooppunten te berekenen die uit de splitsing voortkomen. Dit is de waarde die men wil minimaliseren om de informatieopbrengst te maximaliseren.

Note
Opmerking

De entropie is maximaal wanneer alle klassen gelijk vertegenwoordigd zijn. De entropie is minimaal (0) wanneer alle voorbeelden tot één klasse behoren (pure knoop).

question mark

Kies een betere splitsing.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 2
some-alt