Calcul de l'indice de Gini pour les lignes presque en double

Aug 16 2020

Mon ensemble de données comporte des lignes presque en double, car il existe plusieurs lignes pour chaque employé en fonction de la durée de leur séjour dans l'organisation. Par conséquent, l'employé Ann a 3 lignes, Bob a 2 lignes, etc. La plupart des fonctionnalités de l'ensemble de données ne changent pas avec le temps. Je laisse tomber l'EmpID et le temps et j'exécute une classification sur les autres fonctionnalités.

Étant donné que certaines fonctionnalités ne changent pas avec le temps, elles sont répétées. Certains se répètent trois fois, certains deux fois selon le nombre d'années que l'employé a été dans l'organisation dans les données de 3 ans prises pour l'étude.

Cela aura-t-il un impact négatif sur le calcul de l'indice de Gini (ou l'entropie) puisque certains sont répétés plus de fois? En faisant cela, est-ce que je donne plus de poids à un employé qui est resté plus longtemps alors que je ne devrais pas l'être? Par exemple, Ann a répété Feature4 trois fois tandis que Diane n'en a qu'une seule fois. Dois-je envisager de cumuler de manière à avoir une ligne par employé?

J'essaye Random Forest pour la classification. Je crois que Gini est utilisé pour la sélection / division des nœuds. D'où ma question.

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

Réponses

1 Simone Aug 17 2020 at 05:12

J'utiliserai la notation utilisée ici: https://stats.stackexchange.com/a/44404/2719

Considérons cet ensemble de données de jouets:

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

Vous pouvez calculer le $\Delta$ pour l'impureté Gini pour chaque élément: $$ \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 $$ Selon ce, $Feature4$ semble être mieux que $Feature2$. Ainsi, un algorithme d'induction d'arbre de décision (comprenant Cart et Random Forest) choisirait de diviser le nœud en fonction de$Feature4$

Si vous supprimez le dupliqué, Annce sera l'ensemble de données et le$\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 $$ le $\Delta$ sont les mêmes, ce qui implique que la puissance de prédiction des deux caractéristiques est la même.

En général, si vous laissez de tels doublons, cela gâcherait le $\Delta$ calculs.