Utilisez le classificateur. Non, ils ne sont pas tous les deux valides.
Tout d'abord, je vous encourage vraiment à vous lire dans le sujet de la régression vs classification. Parce que l'utilisation de ML sans rien en savoir vous donnera de mauvais résultats que vous ne réaliserez pas. Et c'est assez dangereux ... ( c'est un peu comme demander dans quel sens vous devriez tenir votre arme ou si cela n'a pas d'importance )
Que vous utilisiez un classificateur ou un régresseur ne dépend que du type de problème que vous résolvez. Vous avez un problème de classification binaire , utilisez donc le classificateur.
Je pourrais exécuter randomforestregressor en premier et récupérer un ensemble de probabilités estimées.
NON. Vous n'obtenez pas de probabilités de régression. Il essaie simplement "d'extrapoler" les valeurs que vous donnez (dans ce cas, seulement 0 et 1). Cela signifie que les valeurs supérieures à 1 ou inférieures à 0 sont parfaitement valables en tant que sortie de régression car elles n'attendent pas seulement deux valeurs discrètes en sortie (c'est ce qu'on appelle la classification !) Mais des valeurs continues.
Si vous voulez avoir les "probabilités" ( sachez que celles-ci ne doivent pas nécessairement être bien probabilisées ) pour qu'un certain point appartienne à une certaine classe, formez un classifieur (pour qu'il apprenne à classer les données) puis utilisez .predict_proba (), qui prédit ensuite la probabilité.
Juste pour le mentionner ici: .predict vs .predict_proba (pour un classificateur!)
.Predict prend simplement la sortie .predict_proba et change tout à 0 en dessous d'un certain seuil (généralement 0,5) respectivement à 1 au-dessus de ce seuil.
Remarque: bien sûr, en interne, ce sont les mêmes sauf pour la "dernière couche" etc.! Pourtant, voyez-les (ou mieux le problème qu'ils résolvent) comme complètement différents!