Question

J'utilise l'explorateur de Weka pour la classification.

J'ai donc mon fichier .arff, avec 2 fonctions de valeur numérique, et ma classe est un 0 ou 1 binaire (par exemple, {0,1}).

Exemple:

@RELATION summary
@ATTRIBUTE feature1 NUMERIC
@ATTRIBUTE feature2 NUMERIC
@ATTRIBUTE class {1,0}

@DATA
23,11,0
20,100,1
2,36,0
98,8,1
.....

Je charge ce fichier .arff, j'utilise une validation croisée par 10 (pas de fichier de test), puis je choisis NaiveBayes, puis je classe les données. Cela me donne: 5 mal étiquetés, 100 correctement étiquetés. Jusqu'ici tout va bien.

Maintenant, je modifie considérablement mon fichier .arff (donne des valeurs complètement aléatoires pour mes attributs de fonctionnalité). Et répétez ce qui précède, et j’obtiens les mêmes statistiques EXACT lors de la classification.

J'ai essayé cela avec plus de changements dans mon fichier .arff, différents algorithmes de classification. Toujours la même statistique EXACT (au sein du même algorithme), peu importe les valeurs que je donne à mon fichier .arff.

Est-ce que je fais quelque chose de mal ici?

Était-ce utile?

La solution

C'est difficile à dire sans plus d'informations, mais j'ai deux suggestions:

  1. Quelles sont les proportions relatives des deux classes? Est-ce 5 à 100? De nombreux algorithmes ne fonctionnent pas bien avec des distributions d'étiquettes de classes très asymétriques.

  2. Juste un pressentiment, mais essayez de changer vos étiquettes de classe de nombres en chaînes (par exemple, 'class1' et 'class2'). Weka appelle ces attributs "nominaux", alors peut-être que l'utilisation de nombres n'est pas autorisée.

Autres conseils

Aussi: gardez à l'esprit que la validation croisée est plutôt horrible dans l'interface utilisateur, car ils ne vous montrent que l'arborescence d'origine, de toute façon (avant qu'ils ne se plient dans d'autres données). Si vous voulez que les arbres finaux soient générés, vous avez besoin de l'API de programmation. Je suggère d'utiliser un ensemble de données de formation / test divisé.

Avez-vous essayé de changer

@ATTRIBUTE class {1,0} 

avec

@ATTRIBUTE class {yes,no} 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top