Я использую RandomForestClassifier
следующим образом, используя перекрестную проверку для двоичной классификации (метки классов 0
и 1
).
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import StratifiedKFold, cross_val_score
clf=RandomForestClassifier(random_state = 42, class_weight="balanced")
k_fold = StratifiedKFold(n_splits=10, shuffle=True, random_state=0)
accuracy = cross_val_score(clf, X, y, cv=k_fold, scoring = 'accuracy')
print("Accuracy: " + str(round(100*accuracy.mean(), 2)) + "%")
f1 = cross_val_score(clf, X, y, cv=k_fold, scoring = 'f1_weighted')
print("F Measure: " + str(round(100*f1.mean(), 2)) + "%")
Теперь я хочуупорядочить мои данные, используя вероятности предсказания класса 1
с cross validation
результатами.Для этого я попробовал следующие два способа:
pred = clf.predict_proba(X)[:,1]
print(pred)
probs = clf.predict_proba(X)
best_n = np.argsort(probs, axis=1)[:,-6:]
Я получаю следующую ошибку
NotFittedError : Этот экземпляр RandomForestClassifier еще не установлен.Прежде чем использовать этот метод, вызовите «fit» с соответствующими аргументами.
для обеих ситуаций.
Мне просто интересно, где я делаю что-то не так.
IЯ рад предоставить более подробную информацию, если это необходимо.