У меня очень несбалансированный набор данных, и я хочу выполнить двоичную классификацию.
При чтении некоторых постов я обнаружил, что sklearn
обеспечивает class_weight="balanced"
для несбалансированных наборов данных.Итак, мой код классификатора выглядит следующим образом.
clf=RandomForestClassifier(random_state = 42, class_weight="balanced")
Затем я выполнил 10-кратную перекрестную проверку следующим образом, используя приведенный выше классификатор.
k_fold = KFold(n_splits=10, shuffle=True, random_state=42)
new_scores = cross_val_score(clf, X, y, cv=k_fold, n_jobs=1)
print(new_scores.mean())
Однако я не уверен, что class_weight="balanced"
отражается через 10-кратную перекрестную проверку.Я делаю это неправильно?Если да, то есть ли лучший способ сделать это в sklearn?
Я с радостью предоставлю более подробную информацию, если это необходимо.