Cálculo do índice de Gini para linhas quase duplicadas

Aug 16 2020

Meu conjunto de dados tem linhas quase duplicadas porque existem várias linhas para cada funcionário, dependendo de quanto tempo eles permaneceram na organização. Portanto, a funcionária Ann tem 3 linhas, Bob tem 2 linhas, etc. A maioria dos recursos no conjunto de dados não muda com o tempo. Estou abandonando o EmpID e o tempo e executando uma classificação nos outros recursos.

Como alguns recursos não mudam com o tempo, eles se repetem. Alguns repetidos três vezes, alguns duas vezes, dependendo de quantos anos o funcionário está na organização nos dados de 3 anos tomados para o estudo.

Isso afetará negativamente o cálculo do Índice de Gini (ou entropia), uma vez que alguns são repetidos mais vezes? Ao fazer isso, estou dando mais peso a um funcionário que ficou mais tempo quando eu não deveria? Por exemplo, Ann repetiu Feature4 três vezes, enquanto Diane apenas uma vez. Devo considerar a possibilidade de acumular de forma que tenha uma linha por funcionário?

Estou testando o Random Forest para classificação. Eu acredito que Gini é usado para seleção / divisão de nós. Daí minha pergunta.

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

Respostas

1 Simone Aug 17 2020 at 05:12

Vou usar a notação usada aqui: https://stats.stackexchange.com/a/44404/2719

Vamos considerar este conjunto de dados de brinquedo:

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

Você pode calcular o $\Delta$ para impureza Gini para cada recurso: $$ \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 $$ De acordo com isso, $Feature4$ parece ser melhor do que $Feature2$. Assim, um algoritmo de indução de árvore de decisão (incluindo Cart e Random Forest) escolheria dividir o nó com base em$Feature4$

Se você remover o duplicado, Anneste será o conjunto de dados e o$\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 $$ o $\Delta$ são iguais, o que implica que o poder de previsão dos dois recursos é o mesmo.

Em geral, se você deixar essas duplicatas, isso bagunçaria o $\Delta$ cálculos.