web-dev-qa-db-fra.com

Comment mettre plus de poids sur certaines fonctionnalités du machine learning?

Si vous utilisez une bibliothèque comme scikit-learn, comment puis-je attribuer plus de poids à certaines fonctionnalités de l'entrée à un classificateur comme SVM? Est-ce quelque chose que les gens font ou existe-t-il une autre solution à mon problème?

14
28r

Tout d'abord - vous ne devriez probablement pas le faire. Le concept entier de l'apprentissage automatique est d'utiliser l'analyse statistique pour attribuer des poids optimaux. Vous interférez ici avec l'ensemble du concept, vous avez donc besoin preuves vraiment solides que cela est crucial au processus que vous essayez de modéliser, et pour une raison quelconque, votre modèle le manque actuellement.

Cela étant dit - il n'y a pas de réponse générale. Ceci est purement spécifique au modèle, dont certains vous permettront de pondérer les entités - dans une forêt aléatoire, vous pouvez biaiser la distribution à partir de laquelle vous échantillonnez les entités à analyser vers celles qui vous intéressent; dans SVM, il devrait suffire de multiplier simplement une caractéristique donnée par une constante - vous vous souvenez quand on vous a dit de normaliser vos fonctionnalités dans SVM? C'est pourquoi - vous pouvez utiliser l'échelle des fonctionnalités pour "orienter" votre classificateur vers des fonctionnalités données. Ceux avec des valeurs élevées seront préférables. Cela fonctionnera en fait pour tout modèle régularisé par la norme de poids (régression logistique régularisée, régression de crête, lasso, etc.).

14
lejlot