Uppdelning av Noderna
Under träningen behöver vi hitta bästa uppdelningen vid varje beslutsknut. När vi delar upp data i två noder strävar vi efter att olika klasser ska hamna i separata noder.
- Bästa scenario: alla datapunkter i en nod tillhör samma klass;
- Sämsta scenario: lika många datapunkter för varje klass.
Gini-orenhet
För att mäta hur bra en uppdelning är kan vi beräkna Gini-orenheten. Det är sannolikheten att om vi slumpmässigt tar två punkter från en nod (med återläggning), så tillhör de olika klasser. Ju lägre denna sannolikhet (orenhet), desto bättre är uppdelningen.
Du kan beräkna Gini-imperfektionen för binär klassificering med följande formel:
gini=1−p02−p12=1−(mm0)2−(mm1)2Där
- mi - antal instanser av klass i i en nod;
- m - antal instanser i en nod;
- pi=mmi - sannolikheten att välja klass i.
Och för multiklassklassificering är formeln:
gini=1−i=0∑Cpi2=1−i=0∑C(mmi)2Där
- C - antal klasser.
Kvaliteten på delningen kan mätas genom att ta viktad summa av Gini-värden för båda noderna som erhålls från en delning. Det är det värde som ska minimeras.
För att dela en beslutsnod behöver vi hitta en egenskap att dela på och tröskelvärdet:
Vid ett beslutsknut söker algoritmen girigt efter den bästa tröskeln för varje variabel. Därefter väljs den uppdelning med lägst Gini-orenhet bland alla variabler (vid lika resultat väljs slumpmässigt).
Entropi
Entropi är ett annat mått på orenhet. För ett binärt klassificeringsproblem beräknas entropin H för en nod med formeln:
H(p)=−plog2(p)−(1−p)log2(1−p)Där:
- p är andelen positiva exempel (klass 1);
- 1−p är andelen negativa exempel (klass 0).
För ett multiklass-klassificeringsproblem beräknas entropin H för en nod med formeln:
H(p1,p2,…,pk)=−i=1∑kpilog2(pi)Där:
- k är antalet klasser;
- pi är andelen exempel som tillhör klass i i noden.
På liknande sätt som Gini-orenhet kan vi mäta hur bra en uppdelning är genom att beräkna viktad summa av entropivärden för barnnoderna som erhålls från uppdelningen. Detta är värdet vi vill minimera för att maximera informationsvinsten.
Entropin är maximal när alla klasser är lika representerade. Den är minimal (0) när alla exempel tillhör en klass (rent nod).
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Uppdelning av Noderna
Svep för att visa menyn
Under träningen behöver vi hitta bästa uppdelningen vid varje beslutsknut. När vi delar upp data i två noder strävar vi efter att olika klasser ska hamna i separata noder.
- Bästa scenario: alla datapunkter i en nod tillhör samma klass;
- Sämsta scenario: lika många datapunkter för varje klass.
Gini-orenhet
För att mäta hur bra en uppdelning är kan vi beräkna Gini-orenheten. Det är sannolikheten att om vi slumpmässigt tar två punkter från en nod (med återläggning), så tillhör de olika klasser. Ju lägre denna sannolikhet (orenhet), desto bättre är uppdelningen.
Du kan beräkna Gini-imperfektionen för binär klassificering med följande formel:
gini=1−p02−p12=1−(mm0)2−(mm1)2Där
- mi - antal instanser av klass i i en nod;
- m - antal instanser i en nod;
- pi=mmi - sannolikheten att välja klass i.
Och för multiklassklassificering är formeln:
gini=1−i=0∑Cpi2=1−i=0∑C(mmi)2Där
- C - antal klasser.
Kvaliteten på delningen kan mätas genom att ta viktad summa av Gini-värden för båda noderna som erhålls från en delning. Det är det värde som ska minimeras.
För att dela en beslutsnod behöver vi hitta en egenskap att dela på och tröskelvärdet:
Vid ett beslutsknut söker algoritmen girigt efter den bästa tröskeln för varje variabel. Därefter väljs den uppdelning med lägst Gini-orenhet bland alla variabler (vid lika resultat väljs slumpmässigt).
Entropi
Entropi är ett annat mått på orenhet. För ett binärt klassificeringsproblem beräknas entropin H för en nod med formeln:
H(p)=−plog2(p)−(1−p)log2(1−p)Där:
- p är andelen positiva exempel (klass 1);
- 1−p är andelen negativa exempel (klass 0).
För ett multiklass-klassificeringsproblem beräknas entropin H för en nod med formeln:
H(p1,p2,…,pk)=−i=1∑kpilog2(pi)Där:
- k är antalet klasser;
- pi är andelen exempel som tillhör klass i i noden.
På liknande sätt som Gini-orenhet kan vi mäta hur bra en uppdelning är genom att beräkna viktad summa av entropivärden för barnnoderna som erhålls från uppdelningen. Detta är värdet vi vill minimera för att maximera informationsvinsten.
Entropin är maximal när alla klasser är lika representerade. Den är minimal (0) när alla exempel tillhör en klass (rent nod).
Tack för dina kommentarer!