Comment fonctionne exactement la sélection des caractéristiques du chi carré?

15

Je sais que pour chaque paire de classes d'entités, la valeur de la statistique du chi carré est calculée et comparée à un seuil.

mk

Toute clarification sera très appréciée. Merci d'avance

user721975
la source
1
Avez-vous des réflexions / des conseils sur ce sujet?
user721975

Réponses:

5

Le test du chi carré est un test statistique d'indépendance pour déterminer la dépendance de deux variables. Il partage des similitudes avec le coefficient de détermination, R². Cependant, le test du chi carré ne s'applique qu'aux données catégorielles ou nominales tandis que R² ne s'applique qu'aux données numériques.

De la définition du chi carré, nous pouvons facilement déduire l'application de la technique du chi carré dans la sélection des caractéristiques. Supposons que vous ayez une variable cible (c.-à-d. L'étiquette de classe) et quelques autres caractéristiques (variables de caractéristiques) qui décrivent chaque échantillon des données. Maintenant, nous calculons les statistiques du chi carré entre chaque variable caractéristique et la variable cible et observons l'existence d'une relation entre les variables et la cible. Si la variable cible est indépendante de la variable caractéristique, nous pouvons ignorer cette variable caractéristique. S'ils sont dépendants, la variable caractéristique est très importante.

Les détails mathématiques sont décrits ici: http://nlp.stanford.edu/IR-book/html/htmledition/feature-selectionchi2-feature-selection-1.html

Pour les variables continues, le chi carré peut être appliqué après le "Binning" des variables.

Un exemple en R, copié sans vergogne à partir 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)

Pas tellement lié à la sélection des fonctionnalités, mais la vidéo ci-dessous décrit le chisquare en détail https://www.youtube.com/watch?time_continue=5&v=IrZOKSGShC8

discipulus
la source