Я пытаюсь выполнить бинарную классификацию, и один класс (0) составляет примерно одну треть от другого класса (1). когда я запускаю необработанные данные через обычную прямую нейронную сеть, точность составляет около 0,78 Однако, когда я реализую class_weights, точность падает примерно до 0,49. Кривая roc также кажется лучше без class_weights. Почему это происходит, и как я могу это исправить?
Я уже пытался изменить модель, внедрить регуляризацию, выпадения и т. Д. Но, похоже, ничто не меняет общую точность
вот так я получаю свои веса:
class_weights = class_weight.compute_class_weight('balanced', np.unique(y_train), y_train)
class_weight_dict = dict(enumerate(class_weights))
Вот результаты без весов:
Вот с весами:
Я ожидал бы, что результаты с class_weights будут лучше, но, похоже, все наоборот. Даже Рок, кажется, не работает лучше с весами.