Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Opdeling af Noderne | Beslutningstræ
Klassifikation med Python

bookOpdeling af Noderne

Under træning skal vi finde det bedste split ved hver beslutningsnode. Når vi opdeler dataene i to noder, sigter vi efter, at forskellige klasser er i separate noder.

  • Bedste tilfælde: alle datapunkter i en node tilhører samme klasse;
  • Værste tilfælde: et lige antal datapunkter for hver klasse.

Gini-urenhed

For at måle hvor god en opdeling er, kan vi beregne Gini-urenheden. Det er sandsynligheden for, at hvis vi tilfældigt tager to punkter fra en node (med tilbageføring), vil de være af forskellige klasser. Jo lavere denne sandsynlighed (urenhed) er, desto bedre er opdelingen.

Du kan beregne Gini-urenhed for binær klassifikation ved hjælp af følgende formel:

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

Hvor

  • mim_i – antal forekomster af klasse ii i en node;
  • mm – antal forekomster i en node;
  • pi=mimp_i = \frac{m_i}{m} – sandsynlighed for at vælge klasse ii.

Og for multiklasse-klassifikation er formlen:

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

Hvor

  • CC – antal klasser.

Vi kan måle, hvor god opdelingen er, ved at tage den vægtede sum af Gini-scorer for begge noder opnået fra en opdeling. Det er den værdi, vi ønsker at minimere.

For at opdele en beslutningsnode skal vi finde en egenskab at opdele på samt tærskelværdien:

Ved et beslutningspunkt finder algoritmen grådigt den bedste tærskel for hver egenskab. Derefter vælger den det split med lavest Gini-urenhed blandt alle egenskaber (hvis der er lighed, vælges tilfældigt).

Entropi

Entropi er et andet mål for urenhed. For et binært klassifikationsproblem beregnes entropien HH for en node ved hjælp af formlen:

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

hvor:

  • pp er andelen af positive eksempler (klasse 1);
  • 1p1 - p er andelen af negative eksempler (klasse 0).

For et multiklasse-klassifikationsproblem beregnes entropien HH for en node ved hjælp af formlen:

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)

hvor:

  • kk er antallet af klasser;
  • pip_i er andelen af eksempler, der tilhører klasse ii i noden.

På samme måde som Gini-urenhed kan vi måle, hvor god en opdeling er, ved at beregne den vægtede sum af entropiværdier for de børnenoder, der opnås fra opdelingen. Dette er den værdi, vi ønsker at minimere for at maksimere informationsgevinsten.

Note
Bemærk

Entropien er maksimal, når alle klasser er lige repræsenteret. Den er minimal (0), når alle eksempler tilhører én klasse (rent node).

question mark

Vælg en bedre opdeling.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 4.17

bookOpdeling af Noderne

Stryg for at vise menuen

Under træning skal vi finde det bedste split ved hver beslutningsnode. Når vi opdeler dataene i to noder, sigter vi efter, at forskellige klasser er i separate noder.

  • Bedste tilfælde: alle datapunkter i en node tilhører samme klasse;
  • Værste tilfælde: et lige antal datapunkter for hver klasse.

Gini-urenhed

For at måle hvor god en opdeling er, kan vi beregne Gini-urenheden. Det er sandsynligheden for, at hvis vi tilfældigt tager to punkter fra en node (med tilbageføring), vil de være af forskellige klasser. Jo lavere denne sandsynlighed (urenhed) er, desto bedre er opdelingen.

Du kan beregne Gini-urenhed for binær klassifikation ved hjælp af følgende formel:

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

Hvor

  • mim_i – antal forekomster af klasse ii i en node;
  • mm – antal forekomster i en node;
  • pi=mimp_i = \frac{m_i}{m} – sandsynlighed for at vælge klasse ii.

Og for multiklasse-klassifikation er formlen:

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

Hvor

  • CC – antal klasser.

Vi kan måle, hvor god opdelingen er, ved at tage den vægtede sum af Gini-scorer for begge noder opnået fra en opdeling. Det er den værdi, vi ønsker at minimere.

For at opdele en beslutningsnode skal vi finde en egenskab at opdele på samt tærskelværdien:

Ved et beslutningspunkt finder algoritmen grådigt den bedste tærskel for hver egenskab. Derefter vælger den det split med lavest Gini-urenhed blandt alle egenskaber (hvis der er lighed, vælges tilfældigt).

Entropi

Entropi er et andet mål for urenhed. For et binært klassifikationsproblem beregnes entropien HH for en node ved hjælp af formlen:

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

hvor:

  • pp er andelen af positive eksempler (klasse 1);
  • 1p1 - p er andelen af negative eksempler (klasse 0).

For et multiklasse-klassifikationsproblem beregnes entropien HH for en node ved hjælp af formlen:

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)

hvor:

  • kk er antallet af klasser;
  • pip_i er andelen af eksempler, der tilhører klasse ii i noden.

På samme måde som Gini-urenhed kan vi måle, hvor god en opdeling er, ved at beregne den vægtede sum af entropiværdier for de børnenoder, der opnås fra opdelingen. Dette er den værdi, vi ønsker at minimere for at maksimere informationsgevinsten.

Note
Bemærk

Entropien er maksimal, når alle klasser er lige repræsenteret. Den er minimal (0), når alle eksempler tilhører én klasse (rent node).

question mark

Vælg en bedre opdeling.

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 2
some-alt