¿Cómo funciona exactamente la selección de características Chi-cuadrado?

15

Sé que para cada par de clase de entidad, el valor de la estadística de chi-cuadrado se calcula y se compara con un umbral.

metrok

Cualquier aclaración será muy apreciada. Gracias por adelantado

usuario721975
fuente
1
¿Alguna idea / sugerencia sobre esto alguien?
user721975

Respuestas:

5

La prueba de chi-cuadrado es una prueba estadística de independencia para determinar la dependencia de dos variables. Comparte similitudes con el coeficiente de determinación, R². Sin embargo, la prueba de chi-cuadrado solo es aplicable a datos categóricos o nominales, mientras que R² solo es aplicable a datos numéricos.

A partir de la definición de chi-cuadrado, podemos deducir fácilmente la aplicación de la técnica de chi-cuadrado en la selección de características. Suponga que tiene una variable objetivo (es decir, la etiqueta de clase) y algunas otras características (variables de características) que describen cada muestra de los datos. Ahora, calculamos estadísticas de chi-cuadrado entre cada variable de entidad y la variable objetivo y observamos la existencia de una relación entre las variables y el objetivo. Si la variable objetivo es independiente de la variable característica, podemos descartar esa variable característica. Si son dependientes, la variable característica es muy importante.

Los detalles matemáticos se describen aquí: http://nlp.stanford.edu/IR-book/html/htmledition/feature-selectionchi2-feature-selection-1.html

Para variables continuas, chi-cuadrado se puede aplicar después de "Binning" las variables.

Un ejemplo en R, descaradamente copiado de FSelector

# Use HouseVotes84 data from  mlbench package
library(mlbench)# For data
library(FSelector)#For method
data(HouseVotes84)

#Calculate the chi square statistics 
weights<- chi.squared(Class~., HouseVotes84)

# Print the results 
print(weights)

# Select top five variables
subset<- cutoff.k(weights, 5)

# Print the final formula that can be used in classification
f<- as.simple.formula(subset, "Class")
print(f)

No se relaciona tanto con la selección de funciones, pero el siguiente video analiza el chisquare en detalle https://www.youtube.com/watch?time_continue=5&v=IrZOKSGShC8

discipulo
fuente