Calcolo dell'indice Gini per righe quasi duplicate

Aug 16 2020

Il mio set di dati ha righe quasi duplicate perché ci sono più righe per ogni dipendente a seconda di quanto tempo sono rimasti nell'organizzazione. Pertanto, il dipendente Ann ha 3 righe, Bob ha 2 righe, ecc. La maggior parte delle funzioni nel set di dati non cambia nel tempo. Sto eliminando l'EmpID e il tempo e sto eseguendo una classificazione sulle altre funzionalità.

Poiché alcune funzionalità non cambiano nel tempo, vengono ripetute. Alcuni si sono ripetuti tre volte, altri due volte a seconda di quanti anni il dipendente è stato nell'organizzazione nei dati di 3 anni presi per lo studio.

Ciò avrà un impatto negativo sul calcolo dell'indice Gini (o entropia) poiché alcuni vengono ripetuti più volte? In questo modo sto dando più peso a un dipendente che è rimasto più a lungo quando non dovrei esserlo? Ad esempio, Ann ha ripetuto Feature4 tre volte mentre Diane ha solo una volta. Devo considerare di arrotolare in modo da avere una riga per dipendente?

Sto provando Random Forest per la classificazione. Credo che Gini sia utilizzato per la selezione / divisione dei nodi. Da qui la mia domanda.

EmpID   time  Feature1  Feature2    Feature3  Feature4  Feature5 Feature6 Target   
Ann     1     Commence  Female      20        Ref-Yes   3.6      Good        0  
Ann     2     Not       Female      21        Ref-Yes   4.0      Good        0
Ann     3     Not       Female      22        Ref-Yes   3.2      Good        0
Bob     2     Commence  Male        19        Ref-No    2.6      Avg         0
Bob     3     Not       Male        20        Ref-No    2.7      Avg         1
Cathy   2     Commence  Female      24        Ref-No    1.6      Good        1
Diane   3     Commence  Female      37        Ref-Yes   6.6      Very Good   1

Risposte

1 Simone Aug 17 2020 at 05:12

Userò la notazione usata qui: https://stats.stackexchange.com/a/44404/2719

Consideriamo questo set di dati del giocattolo:

EmpID   Feature2    Feature4  Target   
Ann     Female      Ref-Yes   0  
Ann     Female      Ref-Yes   0
Bob     Male        Ref-No    0
Cathy   Female      Ref-No    1

Puoi calcolare il file $\Delta$ per Gini impurità per ogni caratteristica: $$ \Delta(Feature2,Target) = 1 - (3/4)^2 - (1/4)^2 - 3/4\Big( 1 - (2/3)^2 - (1/3)^2\Big) - 1/4 \cdot 0 \approx 0.041 $$ $$ \Delta(Feature4,Target) = 1 - (3/4)^2 - (1/4)^2 - 1/2 \cdot 0 - 1/2 \Big( 1 - (1/2)^2 - (1/2)^2\Big) \approx 0.125 $$ Secondo questo, $Feature4$ sembra essere migliore di $Feature2$. Quindi un algoritmo di induzione dell'albero decisionale (inclusi Cart e Random Forest) sceglierebbe di dividere il nodo in base a$Feature4$

Se rimuovi il duplicato, Annquesto sarà il set di dati e il file$\Delta$:

EmpID   Feature2    Feature4  Target     
Ann     Female      Ref-Yes   0
Bob     Male        Ref-No    0
Cathy   Female      Ref-No    1

$$ \Delta(Feature2,Target) = 1 - (2/3)^2 - (1/3)^2 - 2/3\Big( 1 - (1/2)^2 - (1/2)^2\Big) - 1/3 \cdot 0 \approx 0.11 $$ $$ \Delta(Feature4,Target) = 1 - (2/3)^2 - (1/3)^2 - 1/3 \cdot 0 - 2/3\Big( 1 - (1/2)^2 - (1/2)^2\Big) \approx 0.11 $$ Il $\Delta$ sono gli stessi, il che implica che il potere di previsione delle due caratteristiche è lo stesso.

In generale, se lasci tali duplicati, il file $\Delta$ calcoli.