Используйте классификатор. Нет, они не действительны.
Во-первых, я настоятельно рекомендую вам ознакомиться с темой «Регрессия против классификации». Потому что использование ML, ничего не зная об этом, даст вам неправильные результаты, которые вы не поймете. И это довольно опасно ... ( это немного похоже на вопрос, с какой стороны вы должны держать свой пистолет или, если это не имеет значения )
Используете ли вы классификатор или регрессор, зависит только от того, какую проблему вы решаете. У вас есть проблема двоичной классификации , поэтому используйте классификатор.
Сначала я могу запустить randomforestregressor и получить набор оценочных вероятностей.
NO. Вы не получаете вероятности от регрессии. Он просто пытается «экстраполировать» заданные вами значения (в данном случае только 0 и 1). Это означает, что значения выше 1 или ниже 0 вполне допустимы в качестве выходных данных регрессии, поскольку они не ожидают только двух дискретных значений в качестве выходных данных (это называется классификацией !), Но непрерывных значений.
Если вы хотите иметь «вероятности» (имейте в виду, что они не обязательно должны быть точно откалиброванными вероятностями ), чтобы определенная точка принадлежала определенному классу, обучите классификатор (чтобы он научился классифицировать данные), а затем используйте .predict_proba (), который затем прогнозирует вероятность.
Просто упомяну это здесь: .predict vs .predict_proba (для классификатора!)
.Predict просто берет вывод .predict_proba и изменяет все на 0 ниже определенного порога (обычно 0,5) соответственно на 1 выше этого порога.
Замечание: конечно, внутренне они такие же, кроме «последнего слоя» и т. Д.! Тем не менее, рассматривайте их (или лучше проблему, которую они решают) как совершенно другую!