Pour quel type de sélection de fonctionnalités le test du chi carré peut-il être utilisé?

11
  1. Ici, je demande ce que les autres font couramment pour utiliser le test du chi carré pour la sélection des fonctionnalités par rapport au résultat de l'apprentissage supervisé. Si je comprends bien, testent-ils l'indépendance entre chaque fonctionnalité et le résultat, et comparent-ils les valeurs de p entre les tests pour chaque fonctionnalité?

  2. Dans http://en.wikipedia.org/wiki/Pearson%27s_chi-squared_test ,

    Le test du chi carré de Pearson est un test statistique appliqué à des ensembles de données catégorielles pour évaluer la probabilité que toute différence observée entre les ensembles soit apparue par hasard.

    ...

    Un test d'indépendance évalue si les observations appariées sur deux variables, exprimées dans un tableau de contingence , sont indépendantes l'une de l'autre (par exemple, interroger les réponses de personnes de nationalités différentes pour voir si sa nationalité est liée à la réponse).

    Les deux variables dont l'indépendance est testée par le test doivent-elles donc être catégoriques, ou discrètes (permettant d'ordonner en plus de catégoriques), mais non continues?

  3. Depuis http://scikit-learn.org/stable/modules/feature_selection.html , ils

    effectuer un sur l'ensemble de données iris pour récupérer uniquement les deux meilleures fonctionnalités.χ2

    Dans l'ensemble de données iris , toutes les entités sont évaluées numériquement et en continu, et le résultat est des étiquettes de classe (catégorielles). Comment le test d'indépendance du chi carré s'applique-t-il aux fonctionnalités continues?

    Pour appliquer le test d'indépendance du chi carré à l'ensemble de données, convertissons-nous d'abord les entités continues en entités discrètes, en les regroupant (c'est-à-dire en discrétisant d'abord les domaines continus des entités en bacs, puis en remplaçant les entités par des occurrences des valeurs des entités dans les intervalles) )?

    Les occurrences dans plusieurs cases forment une caractéristique multinomiale (se produisent ou non dans chaque case), donc le test d'indépendance du chi carré peut leur être appliqué, non?

    Soit dit en passant, pouvons-nous appliquer le test d'indépendance du chi carré aux caractéristiques et aux résultats de toute nature , n'est-ce pas?

    Pour la partie des résultats, nous pouvons sélectionner des fonctionnalités non seulement pour la classification, mais aussi pour la régression, par test d'indépendance du chi carré, en regroupant le résultat continu, non?

  4. Le site d'apprentissage de Scikit dit également

    Calculez les statistiques du chi carré entre chaque fonction non négative et chaque classe.

    Ce score peut être utilisé pour sélectionner les fonctionnalités n_features avec les valeurs les plus élevées pour la statistique de test du chi carré de X, qui ne doit contenir que des fonctionnalités non négatives telles que les booléens ou les fréquences (par exemple, le nombre de termes dans la classification du document), par rapport à la Des classes.

    Pourquoi le test nécessite-t-il des fonctionnalités non négatives?

    Si les entités n'ont pas de signes mais sont catégoriques ou discrètes, le test peut-il toujours s'appliquer à elles? (Voir ma partie 1)

    Si les fonctionnalités sont négatives, nous pouvons toujours regrouper leurs domaines et les remplacer par leurs occurrences (tout comme ce que je suppose pour appliquer le test à l'ensemble de données iris, voir la partie 2), non?

Remarque: Je suppose que Scikit Learn suit les principes généraux, et c'est ce que je demande ici. Sinon, alors tout va bien.

Tim
la source

Réponses:

2

Je pense qu'une partie de votre confusion concerne les types de variables qu'un chi carré peut comparer. Wikipedia dit ceci à ce sujet:

Il teste une hypothèse nulle affirmant que la distribution de fréquence de certains événements observés dans un échantillon est cohérente avec une distribution théorique particulière.

Ainsi, il compare les distributions de fréquences , également appelées dénombrements, également appelées nombres non négatifs. Les différentes distributions de fréquences sont définies par la variable catégorielle; c'est-à-dire que pour chacune des valeurs d'une variable catégorielle, il doit y avoir une distribution de fréquence qui peut être comparée aux autres.

Il existe plusieurs façons d'obtenir la distribution de fréquence. Il peut s'agir d'une deuxième variable catégorielle dans laquelle les cooccurrences avec la première variable catégorielle sont comptées pour obtenir une distribution de fréquence discrète. Une autre option consiste à utiliser une (multiple) variable numérique pour différentes valeurs d'une variable catégorielle, elle peut (par exemple) additionner les valeurs de la variable numérique. En fait, si les variables catégorielles sont binarisées, la première est une version spécifique de la dernière.

Exemple

À titre d'exemple, regardez ces ensembles de variables:

x = ['mouse', 'cat', 'mouse', 'cat']
z = ['wild', 'domesticated', 'domesticated', 'domesticated']

Les variables catégorielles xet ypeuvent être comparées en comptant les cooccurrences, et c'est ce qui se passe avec un test du chi carré:

                 'mouse'    'cat'
'wild'              1         0
'domesticated'      1         2

Cependant, vous pouvez également binariser les valeurs de 'x' et obtenir les variables suivantes:

x1 = [1, 0, 1, 0]
x2 = [0, 1, 0, 1]
z = ['wild', 'domesticated', 'domesticated', 'domesticated']

Compter les valeurs équivaut désormais à additionner les valeurs qui correspondent à la valeur de z.

                 x1    x2
'wild'           1     0
'domesticated'   1     2

Comme vous pouvez le voir, une seule variable catégorielle ( x) ou plusieurs variables numériques ( x1et x2) sont également représentées par dans le tableau de contingence. Ainsi, les tests du chi carré peuvent être appliqués à une variable catégorielle (l'étiquette dans sklearn) combinée à une autre variable catégorielle ou à plusieurs variables numériques (les caractéristiques dans sklearn).

Pieter
la source
Donc, si la sélection d'entités chi_square ne peut être utilisée que pour des entités non négatives (freq, count, ect), qu'est-ce que cela signifie pour une situation où il existe une entité avec des valeurs négatives? Transformer l'entité ou utiliser une autre méthode de sélection d'entités? Supposons que nous fassions de nouvelles recherches sur l'ensemble de données Iris, et que nous disposions d'une fonction mesurant le changement de longueur des sépales chaque jour. Finalement, il y aurait des valeurs négatives. L'usine se flétrirait et rétrécirait donnant un changement négatif de longueur. Peut-être que nous essayons de classer de quelle plante il s'agit en fonction de sa vitesse de flétrissement ou de quelque chose.
Arash Howaida
1
Le chi carré est basé sur la proportion de valeurs (c'est-à-dire la distribution de fréquence). Ceci est implémenté en additionnant les valeurs des caractéristiques (binarisées). La partie de la somme totale devrait donc avoir un sens. Avec des valeurs négatives, ce n'est pas le cas.
Pieter