Оба функции Предиката () и Предсказания () дают разные значения roc_auc_score в Случайном Лесу.
Я понимаю, что функция предиката () дает вероятности, такие как в случае двоичной классификации, она дает две вероятности, соответствующие обоим классам.Предсказание () дает класс, который он предсказал.
#Using predict_proba()
rf = RandomForestClassifier(n_estimators=200, random_state=39)
rf.fit(X_train[['Cabin_mapped', 'Sex']], y_train)
#make predictions on train and test set
pred_train = rf.predict_proba(X_train[['Cabin_mapped', 'Sex']])
pred_test = rf.predict_proba(X_test[['Cabin_mapped', 'Sex']].fillna(0))
print('Train set')
print('Random Forests using predict roc-auc: {}'.format(roc_auc_score (y_train, pred_train)))
print('Test set')
print('Random Forests using predict roc-auc: {}'.format(roc_auc_score(y_test, pred_test)))
#using predict()
pred_train = rf.predict(X_train[['Cabin_reduced', 'Sex']])
pred_test = rf.predict(X_test[['Cabin_reduced', 'Sex']])
print('Train set')
print('Random Forests using predict roc-auc: {}'.format(roc_auc_score(y_train, pred_train)))
print('Test set')
print('Random Forests using predict roc-auc: {}'.format(roc_auc_score(y_test, pred_test)))
Набор поездов Случайные леса с использованием предиката roc-auc: 0.8199550985878832
Тестовый набор Случайных лесов с использованием preditc_proba roc-auc: 0.8332142857142857
Набор поездов "Случайные леса" с использованием предиката roc-auc: 0.7779440793041364
Набор тестов "Случайные леса" с использованием предиката roc-auc: 0.7686904761904761