В настоящее время я использую следующий код для получения вероятности прогнозирования (т. Е. predict_proba
в sklearn
) каждой каждой точки данных, используя cross validation
.
df = pd.read_csv(input_file)
X = df[features]
y = df[["gold_standard"]]
clf = RandomForestClassifier(n_estimators=10, random_state = 42, class_weight="balanced")
k_fold = StratifiedKFold(n_splits=10, shuffle=True, random_state=0)
proba = cross_val_predict(clf, X, y, cv=k_fold, method="predict_proba")
Однако сейчасЯ хочу сначала использовать выбор объектов (например, RFECV
(удаление рекурсивных объектов с перекрестной проверкой) ), чтобы отфильтровать мои функции, и , а затем получить прогнозвероятность (то есть predict_proba
) каждой точки данных в cross validation
.
rfecv = RFECV(estimator=clf, step=1, cv=k_fold)
Однако я не совсем понимаю, как выполнить часть predict proba
, поскольку теперь я не могу использовать cross_val_predict
с rfecv
. Правильно ли сразу сказать (это выполняет ту же функциональность, что и мой первый код?);
rfecv.predict_proba(X,y)
Пожалуйста, дайте мне знать подходящий способ сделать это в sklearn
.
Я рад предоставить более подробную информацию, если это необходимо.