Użyj klasyfikatora. Nie, oba nie są ważne.
Po pierwsze, naprawdę zachęcam do zapoznania się z tematem Regresja a klasyfikacja. Ponieważ używanie ML bez wiedzy o tym da złe wyniki, których nie zdasz sobie sprawy. A to dość niebezpieczne ... ( to trochę jak pytanie, w którą stronę powinieneś trzymać broń, czy to nie ma znaczenia )
To, czy użyjesz klasyfikatora, czy regresora, zależy tylko od rodzaju rozwiązywanego problemu. Masz problem z klasyfikacją binarną , więc użyj klasyfikatora.
Mógłbym najpierw uruchomić randomforestregressor i odzyskać zestaw szacunkowych prawdopodobieństw.
NIE. Nie otrzymujesz prawdopodobieństwa z regresji. Próbuje po prostu „ekstrapolować” podane wartości (w tym przypadku tylko 0 i 1). Oznacza to, że wartości powyżej 1 lub poniżej 0 są całkowicie poprawne jako wynik regresji, ponieważ nie oczekuje się tylko dwóch dyskretnych wartości jako wyniku (to się nazywa klasyfikacja !), Ale wartości ciągłe.
Jeśli chcesz mieć „prawdopodobieństwa” ( pamiętaj, że nie muszą to być dobrze skalibrowane prawdopodobieństwa ), aby pewien punkt należał do określonej klasy, wytrenuj klasyfikator (aby uczy się klasyfikować dane), a następnie użyj .predict_proba (), która następnie przewiduje prawdopodobieństwo.
Wystarczy wspomnieć o tym tutaj: .predict vs. .predict_proba (dla klasyfikatora!)
.Predict po prostu bierze wyjście .predict_proba i zmienia wszystko na 0 poniżej pewnego progu (zwykle 0,5) odpowiednio na 1 powyżej tego progu.
Uwaga: jasne , wewnętrznie są one takie same, z wyjątkiem „ostatniej warstwy” itd.! Mimo to patrz na nich (lub lepiej na problem, który rozwiązują) jako zupełnie inny!