首页 > 解决方案 > 自动权重分配 - Keras 和混淆矩阵中的不平衡数据

问题描述

我有 10 个类要使用 CNN 进行分类。所有这 10 个类别的数据都是不平衡的,因为我尝试了下面提到的两种技术,但 F1 分数没有显示任何改善。可以参考混淆矩阵分类报告-Keras 这是我最初得到的混淆矩阵,没有使用下面的代码。但是在使用下面的代码后,F1 分数几乎没有提高。然而,验证准确度为 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)

标签: machine-learningkerasneural-networkcomputer-visionconv-neural-network

解决方案


推荐阅读