开发者

PyCM多类别混淆矩阵分析python库功能使用探究

目录
  • PyCM多类混淆矩阵库
    • 特点
    • 库的安装
    • 绘图
    • ROC 曲线

今天给大家分享一个神奇的 python 库android,PyCM

https://github.com/sepandhaghighi/pycm 

PyCM多类混淆矩阵库

PyCM是 Python Confusion Matrix 的缩写,是一个用 Python 编写的多类混淆矩阵库,专门用于多类别混淆矩阵分析。

它提供了一种简单而有效的方式来评估分类器的性能。通过分析混淆矩阵,PyCM 能够提供多种统计指标,帮助用户从不同角度评价分类模型的表现。这些指标包括但不限于准确率、召回率、F1分数、Kappa 统计量等,支持二分类、多分类及多标签分类问题。

PyCM多类别混淆矩阵分析python库功能使用探究

特点

PyCM 具有如下特点。

  • 多类支持

    PyCM 专门设计用于轻松处理多类混淆矩阵。与其他一些主要关注二元分类的软件包不同,PyCM 使用户能够在涉及多个类的场景中评估模型。

  • 多功能性

    PyCM 是一个多功能库,除了基本的混淆矩阵计算之外,还支持广泛的功能。PyCM 具有可视化、比较、参数推荐和多标签等功能,为深入模型评估提供了全面的工具包。

  • 广泛的指标集

    PyCM 提供了广泛的指标集来评估模型性能。从准确度、精确度、召回率和 F1 分数等标准指标到标记性和信息性等高级指标,PyCM 提供了模型优缺点的整体视图。这些丰富的指标增强了分析的粒度,使用户能够就模型改进做出明智的决策。

库的安装

可以直接通过 pip 来进行安装。

pip install pycm

混淆矩阵

PyCM 的 ConfusionMatrix 用法涉及通过提供实际向量和预测向量、直接混淆矩阵或从文件加载信息来创建对象。实例化后,你可以访问大量统计指标和可视化。

下面我们来看一个简单的案例,通过提供实际向量和预测向量来实例化 ConfusionMatrix 对象。

from pycm import *
y_actu = [2, 0, 2, 2, 0, 1, 1, 2, 2, 0, 1, 2]
y_pred = [0, 0, 2, 1, 0, 2, 1, 0, 2, 0, 2, 2]
cm = ConfusionMatrix(actual_vector=y_actu, predict_vector=y_pred)
cm.classes
#[0, 1, 2]

输出混淆矩阵

cm.print_matrix()

PyCM多类别混淆矩阵分析python库功能使用探究

cm.print_normalized_matrix()

PyCM多类别混淆矩阵分析python库功能使用探究

接着计算统计指标。

cm.sta编程客栈t(summary=True)

PyCM多类别混淆矩阵分析python库功能使用探究

绘图

用户可以使用 plot 方法来可视化混淆矩阵。可视化为模型评估和报告结果增加了一层额外的可解释性。

from matplotlib import pyplot as plt
cm.plot(cmap=plt.cm.Greens, number_label=True, plot_lib="matplotlib")
cm.plot(cmap=plt.cm.Reds, normalized=True, number_label=True, plot_lib="seaborn")

PyCM多类别混淆矩阵分析python库功能使用探究

ROC 曲线

在ROC曲线中,Y轴代表真阳性率,X轴代表假阳性率。因此,理想的http://www.devze.com点位于曲线的左上方,曲线下方的面积越大,代表性能越好。ROC 曲线是二元分类器性能的图形表示。

在 PyCM 中,ROCCurve 基于 “One vs. Rest” 策略对输出进行二值化,为多类分类器提供 ROC 扩展。获取实际标签向量、正类的目标概率估计以及类的有序标签列表,该方法能够计算并绘制js不同判别阈值的 TPR-FPR 对,并计算 ROC 曲线下的面积。

crv = ROCCurve(actual_vector=np.array([1, 1, 2, 2]), probs=np.array([[0.1, 0.9], [0.python4, 0.6], [0.35, 0.65], [0.8, 0.2]]), classes=[2, 1])
crv.thresholds
#[0.1, 0.2, 0.35, 0.4, 0.6, 0.65, 0.8, 0.9]
auc_trp = crv.area()
auc_trp[1]
#0.75

以上就是PyCM多类别混淆矩阵分析python库功能使用探究的详细内容,更多关于python PyCM多类别混淆矩阵的资料请关注编程客栈(www.devze.com)其它相关文章!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜