Usa il classificatore. No, non sono entrambi validi.
Innanzitutto, ti incoraggio davvero a leggere te stesso sull'argomento Regressione vs classificazione. Perché usare ML senza saperlo ti darà risultati sbagliati che non realizzerai. Ed è abbastanza pericoloso ... ( è un po 'come chiedere in che modo dovresti tenere la pistola o se non importa )
Se si utilizza un classificatore o un regressore dipende solo dal tipo di problema che si sta risolvendo. Hai un problema di classificazione binaria , quindi usa il classificatore.
Potrei eseguire randomforestregressor prima e recuperare una serie di probabilità stimate.
NO. Non ottieni probabilità dalla regressione. Cerca solo di "estrapolare" i valori che dai (in questo caso solo 0 e 1). Ciò significa che i valori superiori a 1 o inferiori a 0 sono perfettamente validi come output di regressione in quanto non prevedono solo due valori discreti come output (che si chiama classificazione !) Ma valori continui.
Se si desidera avere le "probabilità" ( tenere presente che queste non devono essere probabilità ben calibrate ) affinché un determinato punto appartenga a una determinata classe, formare un classificatore (in modo che impari a classificare i dati) e quindi utilizzare .predict_proba (), che quindi prevede la probabilità.
Solo per menzionarlo qui: .predict vs .predict_proba (per un classificatore!)
.Predict prende semplicemente l'output .predict_proba e cambia tutto a 0 sotto una certa soglia (di solito 0,5) rispettivamente a 1 sopra quella soglia.
Nota: certo, internamente, sono gli stessi tranne che per l '"ultimo livello" ecc.! Tuttavia, vederli (o meglio il problema che stanno risolvendo) come completamente diversi!