Comment un classificateur d'ensemble fusionne-t-il les prédictions de ses classificateurs constituants? J'ai du mal à trouver une description claire. Dans certains exemples de code que j'ai trouvés, l'ensemble fait simplement la moyenne des prédictions, mais je ne vois pas comment cela pourrait rendre possible une "meilleure" précision globale.
Considérez le cas suivant. Un classificateur d'ensemble est composé de 10 classificateurs. Un classificateur a une précision de 100% du temps dans le sous-ensemble de données X et de 0% toutes les autres fois. Tous les autres classificateurs ont une précision de 0% dans le sous-ensemble de données X et de 100% toutes les autres fois.
En utilisant une formule de moyenne, où la précision du classificateur est ignorée, le classificateur d'ensemble aurait, au mieux, une précision de 50%. Est-ce correct ou manque-t-il quelque chose? Comment la prédiction moyenne de N classificateurs potentiellement désemparés peut-elle créer une meilleure prédiction qu'un classificateur unique expert dans un domaine spécifique?
Il vous manque le fait que le "mauvais" classifieur n'a pas une précision de 0%, mais ce n'est pas beaucoup mieux qu'une supposition aléatoire.
De cette façon, les bonnes prédictions sont toujours les mêmes et s'accumulent (car la vérité n'est qu'une), tandis que les mauvaises prédictions sont des bruits aléatoires qui se compensent.
la source
Dans le cas d'une classification, il existe généralement deux façons de définir la prédiction. Disons que c'est un problème de classification de classe binaire et que vous avez 3 modèles à assembler appelés m1, m2 et m3 et que le jeu de données d'apprentissage est appelé train et le jeu de données de test appelé test.Les modèles sont déjà construits sur train.Ensuite, un code python sera le suivant.
La première méthode consiste à prendre un tour de la moyenne
La sortie sera donc un vecteur de valeur 0 et 1
La deuxième méthode consiste à regrouper la probabilité de prédiction de chaque classe à partir de ces modèles et à les regrouper, puis à décider de la classe soit sur la base d'un seuil strict, soit sur une logique.
parcourir tout le vecteur pred_proba pour trouver lequel sur 0 et 1 est 1 en se basant sur le seuil dur 0,5
Donc, pred est la prédiction d'ensemble finale.
la source