自动权重分配-Keras和Confusion Matrix中的不平衡数据

时间:2019-01-09 10:33:24

标签: machine-learning keras neural-network computer-vision conv-neural-network

我有10个要使用CNN进行分类的课程。在这10个类别中,数据都是不平衡的,为此,我尝试了以下两种技巧,但F1分数并未显示出任何改善。 您可以参考Confusion Matrix Classification Report - 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)

0 个答案:

没有答案