Python和C++混淆矩阵地理学医学物理学视觉语言模型和算法模型评估工具

🎯要点

  1. 优化损失函数评估指标
  2. 海岸线检测算法评估
  3. 遥感视觉表征和文本增强
  4. 乳腺癌预测模型算法
  5. 液体中闪烁光和切伦科夫光分离
  6. 多标签分类任务性能评估
  7. 有向无环图、多路径标记和非强制叶节点预测二元分类评估
  8. 特征归因可信性评估
  9. 马修斯相关系数对比其他准确度
    在这里插入图片描述

Python桑基图混淆矩阵

桑基图是一种数据可视化技术或流程图,强调从一种状态到另一种状态或从一个时间到另一个时间的流动/移动/变化,其中箭头的宽度与所描绘的广泛属性的流速成正比。桑基图还可以可视化能源账户、区域或国家层面的物质流账户以及成本细目。该图表通常用于物质流分析的可视化。桑基图强调系统内的主要转移或流动。它们有助于确定流动中最重要的贡献。它们通常显示定义的系统边界内的守恒量。

Python桑基图和混淆矩阵

import pandas as pd
import numpy as np
from plotly import graph_objects as go
RED = "rgba(245,173,168,0.6)"
GREEN = "rgba(211,255,216,0.6)"
def create_df_from_confusion_matrix(confusion_matrix, class_labels=None):
    if not len(class_labels):
        df = pd.DataFrame(data=confusion_matrix, 
                          index=[f"True Class-{i+1}" for i in range(confusion_matrix.shape[0])],
                          columns=[f"Predicted Class-{i+1}" for i in range(confusion_matrix.shape[0])])
    else:
        df = pd.DataFrame(data=confusion_matrix, 
                          index=[f"True {i}" for i in class_labels],
                          columns=[f"Predicted {i}" for i in class_labels])
    df = df.stack().reset_index()
    df.rename(columns={0:'instances', 'level_0':'actual', 'level_1':'predicted'}, inplace=True)
    df["colour"] = df.apply(lambda x: 
                               GREEN if x.actual.split()[1:] == x.predicted.split()[1:] 
                               else RED, axis=1)

    node_labels = pd.concat([df.actual, df.predicted]).unique()
    node_labels_indices = {label:index for index, label in enumerate(node_labels)}
    df =  df.assign(actual    = df.actual.apply(lambda x: node_labels_indices[x]),
                    predicted = df.predicted.apply(lambda x: node_labels_indices[x]))
    def get_link_text(row):
        if row["colour"] == GREEN:
            instance_count = row["instances"]
            source_class = ' '.join(node_labels[row['actual']].split()[1:])
            target_class = ' '.join(node_labels[row['predicted']].split()[1:])
            return f"{instance_count} {source_class} instances correctly classified as {target_class}"
        else:
            instance_count = row["instances"]
            source_class = ' '.join(node_labels[row['actual']].split()[1:])
            target_class = ' '.join(node_labels[row['predicted']].split()[1:])
            return f"{instance_count} {source_class} instances incorrectly classified as {target_class}"
        
    df["link_text"] = df.apply(get_link_text, axis = 1)
    return df, node_labels

根据混淆矩阵和类别标签绘制桑基图

def plot_confusion_matrix_as_sankey(confusion_matrix,  class_labels = None):
    df, labels = create_df_from_confusion_matrix(confusion_matrix,  class_labels)
    
    fig = go.Figure(data=[go.Sankey(
    
    node = dict(
      pad = 20,
      thickness = 20,
      line = dict(color = "gray", width = 1.0),
      label = labels,
      hovertemplate = "%{label} has total %{value:d} instances<extra></extra>"
    ),
    link = dict(
      source = df.actual, 
      target = df.predicted,
      value = df.instances,
      color = df.colour,
      customdata = df['link_text'], 
      hovertemplate = "%{customdata}<extra></extra>"  
    ))])

    fig.update_layout(title_text="Confusion Matrix Sankey Diagram", font_size=15,
                      width=500, height=400)
    
    return fig
confusion_matrix = np.array([[10, 4],
                             [2, 20]])

plot_confusion_matrix_as_sankey(confusion_matrix,  ['Fraud', 'Legit'])

👉更新:亚图跨际


http://www.niftyadmin.cn/n/5688685.html

相关文章

uni-app之旅-day01-home页

首页 3.0 创建 home 分支 &#x1f355;&#x1f355;&#x1f355;运行如下的命令&#xff0c;基于 master 分支在本地创建 home 子分支&#xff0c;用来开发和 home 首页相关的功能git branch(查看分支)git checkout -b home(创建home分支) 3.1 配置网络请求 &#x1f32…

智能化焊接数据管理系统:系统功能设计与应用场景,OEM定制

在快速发展的工业4.0时代&#xff0c;智能化技术正以前所未有的速度改变着各行各业&#xff0c;其中焊接行业也不例外。随着物联网、大数据、人工智能等技术的不断融合&#xff0c;智能化焊接数据管理系统应运而生&#xff0c;成为提高焊接效率、保障焊接质量、优化生产流程的重…

ComfyUI局部重绘换衣讲解

一、下载插件 ComfyUI-Impact-Pack 下载地址 https://github.com/ltdrdata/ComfyUI-Impact-Pack 主要用到sam Detector去绘制衣服蒙版和高斯模糊蒙版&#xff0c;高斯模糊让蒙版边缘更加柔和 sams模型 放在E:\Comfyui\ComfyUI\models\sams二、换衣思路 文生图或直接上传…

【文献阅读】AST: Audio Spectrogram Transformer

Abstract 在过去的十年中&#xff0c;CNN被广泛应用作为端到端音频分类模型的主要构建块&#xff0c;这些模型旨在学习从音频谱图到相应标签的直接映射。为了更好地捕捉长距离的全局上下文&#xff0c;最近的趋势是在 CNN 之上添加自注意力机制&#xff0c;从而形成 CNN-注意力…

2024年7月大众点评武汉餐饮美食店铺基础信息

在做一些城市分析、学术研究分析、商业选址、商业布局分析等数据分析挖掘时&#xff0c;大众点评的数据参考价值非常大&#xff0c;截至2024年7月&#xff0c;大众点评美食店铺剔除了暂停营业、停止营业后的最新数据情况分析如下。 武汉餐饮美食店铺约9.6万家&#xff0c;有均…

【嵌入式裸机开发】智能家居入门3(MQTT服务器、MQTT协议、微信小程序、STM32)

前面已经写了两篇博客关于智能家居的&#xff0c;服务器全都是使用ONENET中国移动&#xff0c;他最大的优点就是作为数据收发的中转站是免费的。本篇使用专门适配MQTT协议的MQTT服务器&#xff0c;有公用的&#xff0c;也可以自己搭建 前言一、项目总览二、总体流程分析1、了解…

一文了解构建工具——Maven与Gradle的区别

目录 一、Maven和Gradle是什么&#xff1f; 构建工具介绍 Maven介绍 Gradle介绍 二、使用时的区别&#xff1a; 1、新建项目 Maven&#xff1a; Gradle&#xff1a; 2、配置项目 Maven&#xff1a; Gradle&#xff1a; 3、构建项目——生成项目的jar包 Gradle&…

rabbitMq------信道管理模块

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言信道管理的字段申明/删除交换机申明/删除队列绑定/解绑消息的发布消息确认订阅队列取消订阅信道内存管理类打开信道关闭信道/获取指定信道 总结 前言 信道是在…