У меня есть 10 классов для классификации с использованием CNN. Данные несбалансированы во всех этих 10 классах, для этого я попробовал оба из перечисленных ниже методов, но оценка F1 не показывает каких-либо улучшений.
Вы можете обратиться к Отчету о классификации матриц путаницы - Keras Это матрица путаницы, которую я получил изначально без использования приведенного ниже кода. Но после использования кода, приведенного ниже, показатель Формулы 1 едва улучшился. Однако точность проверки составила 98% +. Нужна ваша помощь в этом.
#Method 1
counter = Counter(training_set.classes)
max_val = float(max(counter.values()))
class_weights = {class_id:max_val/num_images for class_id,num_images in counter.items()}
#Method 2
from sklearn.utils import class_weight
import numpy as np
class_weights = class_weight.compute_class_weight(
'balanced',
np.unique(training_set.classes),
training_set.classes)