Donc, j'ai une matrice d'environ 60 x 1000. Je la considère comme 60 objets avec 1000 fonctionnalités; les 60 objets sont regroupés en 3 classes (a, b, c). 20 objets dans chaque classe, et nous connaissons la véritable classification. J'aimerais faire un apprentissage supervisé sur cet ensemble de 60 exemples de formation, et je m'intéresse à la fois à la précision du classificateur (et aux mesures associées) ainsi qu'à la sélection des fonctionnalités sur les 1000 fonctionnalités.
Tout d'abord, comment est ma nomenclature?
Maintenant, la vraie question:
Je pourrais jeter des forêts aléatoires dessus comme indiqué, ou n'importe quel nombre d'autres classificateurs. Mais il y a une subtilité - je me soucie vraiment de différencier la classe c des classes a et b. Je pourrais regrouper les classes a et b, mais existe-t-il un bon moyen d'utiliser la connaissance a priori que tous les objets non-c forment probablement deux clusters distincts? Je préférerais utiliser des forêts aléatoires ou une variante de celles-ci, car il s'est avéré efficace sur des données similaires aux miennes. Mais je pourrais être convaincu d'essayer d'autres approches.
la source
Réponses:
Si vous utilisez une méthode basée sur un arbre, je ne pense pas que cela soit important car ces classificateurs partitionnent l'espace des fonctionnalités, puis regardez la proportion d'échantillons dans chaque classe. Donc, tout ce qui compte, c'est l'occurrence relative de la classe c dans chaque nœud terminal.
Si toutefois vous utilisiez quelque chose comme un mélange de normales, LDA, etc., combiner deux clusters serait une mauvaise idée (en supposant que les classes a et b forment des clusters uniques). Ici, vous devez conserver la structure de classe pour décrire avec précision l'espace d'entités qui correspond à a, b et c. Ces modèles supposent que les fonctionnalités de chaque classe ont une distribution normale différente. Si vous combinez a et b, vous forcerez une seule distribution normale à s'adapter à un mélange.
En résumé, pour les arbres, peu importe si vous:
I. Créez trois classificateurs (1. a vs b, 2. a vs c et 3. b vs c) puis prédisez avec une méthode basée sur le vote.
II. Fusionnez les classes a et b pour former un problème à deux classes.
III. Prédisez les trois classes, puis mappez la prédiction à une valeur à deux classes (par exemple, f (c) = c, f (a) = pas c, f (b) = pas c).
Cependant, si vous utilisez une méthode qui ajuste une distribution à chaque classe, évitez II. et tester lequel de I. ou III. fonctionne mieux pour votre problème
la source