混淆矩阵怎么显示?——分类中的metric

本文介绍了混淆矩阵的概念,强调在准确率高的情况下,矩阵对角线上的值通常较大。作者分享了如何手动创建混淆矩阵,并指出多分类和多标签情况的处理。在实现过程中,注意标签的一一对应和顺序一致性对结果的影响。还提到了使用sklearn库的示例,并提到在特定场景下,不考虑标签不全的情况。文章最后提供了相关问题讨论的QQ群信息。
摘要由CSDN通过智能技术生成

说起混淆矩阵这玩意,要从当年我记TP,FP,TN,FN说起。

但我不想扯太远,简而言之就是个矩阵,如果acc够好的话,那么这个矩阵的对角线上的值最大,如果是热度图,那么颜色最深。

自己写个函数也不费劲。预测的结果和ground_truth直接排一下就哦了。多分类和多标签问题暂不支持,当然有这个。

寡人试试徒手造个小轮子,看看是否费劲。【造得了轮子,登得了大雅之堂,事无巨细,事必躬亲,身体力行,差不多就等寡人亲政了,哈哈】

在truth和pred中,必然是一一对应,且shape一样,都是一维度。

另外标签应具有唯一性,如果给定了所有标签labels的话,truth及pred的标签必须都在labels中,如果没有给定labels,那么需要先求出labels,以set来定。

遇到各种小细节,不过最后终于得到稳定的结果:

标签一定要固定顺序,不然结果一直变,还以为是错了,其实不是,标签顺序不同,CM不同

如果给定了标签,那么标签的顺序不能修改。

仍旧记得speech_command,tf官方给的最简单的语音识别的case,这里面有提及怎么求,这里还是用tf,当然也有其他现成的函数,在sklearn中。以sklearn中例子来说明

上结果:不考虑给定的标签不全的问题,也就是说给定的标签有误,只是一个比较的问题,不再写<

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 LightGBM ,我们可以使用 `confusion_matrix()` 函数来显示混淆矩阵。该函数可以接受以下参数: - `dataset`: 必需参数,要计算混淆矩阵的数据集。 - `num_classes`: 可选参数,数据集的类别数目,默认为 1。 - `preds`: 可选参数,预测结果,默认为 None,表示使用模型对数据集进行预测。 - `sample_weight`: 可选参数,每个样本的权重,默认为 None。 以下是一个示例代码: ```python import lightgbm as lgb from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.metrics import confusion_matrix # 加载数据 data = load_breast_cancer() X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42) # 训练模型 lgb_train = lgb.Dataset(X_train, y_train) lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train) params = {'objective': 'binary', 'metric': 'binary_logloss'} model = lgb.train(params, lgb_train, num_boost_round=10, valid_sets=[lgb_train, lgb_eval], early_stopping_rounds=5) # 预测并计算混淆矩阵 y_pred = model.predict(X_test) y_pred = [1 if x >= 0.5 else 0 for x in y_pred] # 将概率转化为类别 cm = confusion_matrix(y_test, y_pred) print(cm) ``` 输出结果为: ``` [[39 4] [ 1 70]] ``` 其,第一行第一列表示真实类别为 0,预测类别为 0 的样本数,第一行第二列表示真实类别为 0,预测类别为 1 的样本数,第二行第一列表示真实类别为 1,预测类别为 0 的样本数,第二行第二列表示真实类别为 1,预测类别为 1 的样本数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李飞刀李寻欢

您的欣赏将是我奋斗路上的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值