J'ai souvent analysé un ensemble de données sur lequel je ne pouvais pas vraiment faire de classification. Pour voir si je peux obtenir un classificateur, j'ai généralement utilisé les étapes suivantes:
- Générez des tracés d'étiquette par rapport aux valeurs numériques.
- Réduisez la dimensionnalité à 2 ou 3 pour voir si les classes sont séparables, essayez également LDA parfois.
- Essayez avec force d'adapter les SVM et les forêts aléatoires et examinez l'importance des fonctionnalités pour voir si les fonctionnalités ont un sens ou non.
- Essayez de modifier l'équilibre des classes et des techniques comme le sous-échantillonnage et le suréchantillonnage pour vérifier si le déséquilibre des classes pourrait être un problème.
Il existe de nombreuses autres approches auxquelles je peux penser, mais je n'ai pas essayé. Parfois, je sais que ces fonctionnalités ne sont pas bonnes et ne sont pas du tout liées au label que nous essayons de prévoir. J'utilise ensuite cette intuition commerciale pour terminer l'exercice, concluant que nous avons besoin de meilleures fonctionnalités ou d'étiquettes totalement différentes.
Ma question est de savoir comment un Data Scientist signale que la classification ne peut pas être effectuée avec ces fonctionnalités. Existe-t-il un moyen statistique de signaler cela ou d'ajuster d'abord les données dans différents algorithmes et de regarder la métrique de validation est la meilleure option?
Réponses:
Cela dépend de vos données. Il y a quelque chose appelé erreur au niveau humain. Supposons que des tâches telles que la lecture de livres imprimés, les humains n'ont pas de mal à lire et il ne peut pas se produire une erreur, sauf en raison de la mauvaise qualité d'impression. Dans des cas comme la lecture de manuscrits manuscrits, il peut arriver souvent de ne pas comprendre tous les mots si la police de l'écrivain est étrange pour le lecteur. Dans la première situation, l'erreur au niveau humain est trop faible et les algorithmes d'apprentissage peuvent avoir les mêmes performances, mais le deuxième exemple illustre le fait que dans certaines situations, l'erreur au niveau humain est tellement élevée et d'une manière habituelle (si vous utilisez la même caractéristiques que les humains) votre algorithme d'apprentissage aura tellement de taux d'erreur.
Dans l'apprentissage statistique, il y a quelque chose qui s'appelle
Bayes Error
, chaque fois que la distribution des classes se chevauche, le taux d'erreur est important. sans changer les fonctionnalités, l'erreur Bayes des distributions actuelles est la meilleure performance et ne peut pas être réduite du tout.Je vous suggère également de lire ici . Les problèmes avec une grande quantité d'erreur Bayes avec des fonctionnalités désignées ne sont pas considérés comme pouvant être classés dans l'espace de ces fonctionnalités. Comme autre exemple, vous pouvez supposer que vous souhaitez classer les voitures avec des lumières allumées. Si vous essayez de le faire le matin, vous pouvez vous-même avoir beaucoup d'erreurs et si vous utilisez les mêmes images pour entraîner l'algorithme d'apprentissage, cela peut aussi avoir.
Je vous recommande également de ne pas modifier la distribution de vos cours. Dans de tels cas, le résultat du classificateur près de la frontière serait complètement aléatoire. La distribution des données pour la formation de votre algorithme d'apprentissage automatique ne doit pas être modifiée et doit être telle qu'elle est en condition réelle.
la source
Prenez un élément échantillon d'une classe et un élément élément de l'autre classe. Est-il possible que ces deux éléments aient exactement le même vecteur caractéristique? Si cela peut toujours se produire alors les deux classes ne sont pas complètement en utilisant vos vecteurs séparable de fonction en cours (depuis la décision de classification est basée entièrement dans le vecteur de caractéristique pour un élément donné).
D'un autre côté, si * chaque "élément d'une classe a un élément correspondant dans l'autre classe de telle sorte que les deux éléments ont les mêmes vecteurs de caractéristiques, alors les deux classes sont indiscernables en utilisant vos vecteurs de caractéristiques actuels.
De plus, si cette condition ne s'applique qu'à certains de vos éléments et pas à d'autres, alors vous êtes quelque part entre les deux, et vous pouvez l'utiliser comme base pour mesurer dans quelle mesure vous pouvez espérer qu'un classificateur fonctionnera en utilisant votre ensemble de fonctionnalités actuel.
Toutes ces évaluations peuvent être utilisées pour faire valoir à des degrés divers que vous devez extraire plus de fonctionnalités.
la source