machine-learning - 自动权重分配 - 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)
解决方案
推荐阅读
- javascript - 如何针对华为特定的用户代理
- liquid - Azure Logicapp 中的 Liquid 模板
- rust - 在 rust 中找不到模块
- postgresql - PostgreSQL 撤销所有扩展实体的所有权限,正在创建
- wordpress - 我的 wordpress 儿童主题代码无法正常工作
- javascript - 理解错误销毁不是函数
- c - DPDK:在 X710 NIC 卡上启用巨型帧
- php - 无法在 macOS Big Sur 上将带有 Pecl 的 PHP 交易者扩展安装到 Macbook M1 芯片中
- javascript - 无法生成 PDF 文件以上传到 Firebase
- ruby - Macbook Pro 2020 M1 - MacOS Big Sur - Homebrew 不工作