当前位置: 首页 > news >正文

分类模型评估利器-混淆矩阵

相关文章

地理时空动态模拟工具介绍(上)
地理时空动态模拟工具介绍(下)地理时空动态模拟工具的使用方法

前言

混淆矩阵(Confusion Matrix)是机器学习领域中用于评估分类模型性能的一种工具。它通过矩阵的形式,将模型的预测结果与实际分类进行比较,从而可以直观地展示分类模型的性能及精度。通常,混淆矩阵用于二分类问题(例如是否患有某种疾病),但是在GIS的分类模型中,多分类问题更为常见(例如多种土地利用类型)。

01 混淆矩阵的类别介绍

二分类混淆矩阵

对于二分类问题,混淆矩阵包含四个主要部分:

1. True Positive (TP):模型正确预测为正类的实例数量。(真阳性)

2. False Positive (FP):模型错误预测为正类(实际上是负类)的实例数量。(假阳性)

3. False Negative (FN):模型错误预测为负类(实际上是正类)的实例数量。(假阴性)

4. True Negative (TN):模型正确预测为负类的实例数量。(真阴性)

二分类混淆矩阵的结构如下:

实际正类

实际负类

预测正类

TP

FP

预测负类

FN

TN

多分类混淆矩阵

多分类混淆矩阵的每行代表预测类别,每列代表实际类别,对角线上的值表示正确分类的数量,非对角线上的值表示错误分类的数量。

例如,对于一个有3个类别(A、B、C)的多分类问题,混淆矩阵的结构如下:

实际为A

实际为B

实际为C

预测为A

a11

a12

a13

预测为B

a21

a22

a23

预测为C

a31

a32

a33

其中a11、a22、a33为正确的分类。类别还可以更多。同样,多分类矩阵将非对角线上的值进行合并,也可得到二分类中的TP、FP、TN、FN等相关值。

02 混淆矩阵的扩展

通过混淆矩阵,我们可以计算出多种评估指标,例如:

• 准确率(Accuracy):(TP + TN) / (TP + TN + FP + FN)

• 精确率(Precision):TP / (TP + FP)

• 召回率(Recall):TP / (TP + FN)

• F1分数(F1-Score):2 * (Precision * Recall) / (Precision + Recall)

这些指标可以帮助我们更加全面评估模型的性能,更常用于深度学习等方法中。

03 如何读懂GeoScene Pro中的混淆矩阵

Pro中的混淆矩阵,除有分类之外,还会包含U_Accuracy、P_Accuracy以及kappa系数等信息。以下表为例。

实际

预测

C_1

C_2

C_3

总计

U_Accuracy

kappa

C_1

49

4

4

57

0.8594

0

C_2

2

40

2

44

0.9091

0

C_3

3

3

59

65

0.9077

0

总计

54

47

65

166

0

0

P_Accuracy

0.9074

0.8511

0.9077

0

0.8916

0

kappa

0

0

0

0

0

0.8357

矩阵中共有3类样本。对角线上预测全部正确的共有49+40+59个样本,总数量为166,其交并比(IoU)为148/166=0.8916。

U_Accuracy字段叫做用户精度,也叫错分误差,表示预测中其他类被错分为成指定类。以第一行为例, 49个1类判断正确,4个实际为2类以及4个实际为3类的样本被错误判断为1类,1类的U_Accuracy为49/57。

P_Accuracy字段叫做制作者精度,也叫漏分误差,表示预测中指定类错报成其他类。以第一列为例,其中49个1类判断正确,2个实际为1类的样本错报成2类,3个实际为1类的样本错报成3类,1类的P_Accuracy为54/57。

表中的0.8916为整体精度。

kappa系数为0.8357,它是混淆矩阵的核心,用于整体评估分类的精度。

其公式如下:

是每一类正确分类的样本数量之和除以总样本数,即上文中提及的交并比=0.8916。

的计算公式如下:

各类实际样本数量为

,预测样本数量为

,总样本数量为n,类别总数为C。

的实际计算方法为

在带入Kappa公式

在分类模型精度评估中,Kappa指数如果大于0.75,就可以认为该模型整体精度比较高,预测结果可信。

04 如何在GeoScene Pro软件中计算混淆矩阵

上一节中我们已经了解到混淆矩阵主要用在分类问题中,用于对比预测和实际类型,从而计算分类结果的精度。在Pro中共计三步来完成混淆矩阵的计算。

第一步:使用创建精度评估点工具构建随机点。

创建精度评估点工具可以创建随机采样点,用于分类后精度评估,同时还可以将预测数据或实际数据的分类结果提取至采样点中。

创建精度评估点工具

该工具中的“输入栅格数据或要素类数据”可以是预测或实际类型数据本,需要注意必须与“目标字段”参数对应。

第二步:使用更新精度评估点工具补充随机点属性。

更新精度评估点工具可以选择实际或预测类型数据,也必须与“目标字段”参数对应。

更新精度评估点工具

上述两步运行完成后,打开精度评估点的属性表,包含Classfied字段(预测分类属性),GrndTruth字段(实际分类属性)。

精度评估表的属性表

第三步:使用计算混淆矩阵工具计算结果。

计算混淆矩阵工具

即可得到混淆矩阵。

混淆矩阵表

为简化上述步骤,还可以将上述工具制作成模型构建器。

混淆矩阵模型构建器

进一步还可以将模型构建器进行封装,制作成地理处理工具。

混淆矩阵综合工具

相关文章:

分类模型评估利器-混淆矩阵

相关文章 地理时空动态模拟工具介绍(上) 地理时空动态模拟工具介绍(下)地理时空动态模拟工具的使用方法 前言 混淆矩阵(Confusion Matrix)是机器学习领域中用于评估分类模型性能的一种工具。它通过矩阵的…...

算法题(23):只出现一次的数字

初级: 审题: 需要输出只出现了一次的数据,其他数据均出现了两次 思路: 若不限制空间复杂度: 方法一:哈希表 用哈希映射循环一次,把对应数字出现的次数记录到数组里面,然后再遍历一次…...

@RestController与@Controller区别

区别1: RestController是Controller的升级版 区别2: RestController用于标识一个类作为控制器,并且可以处理HTTP请求。控制器类通常用于接收用户输入并决定返回响应的内容。 RestController通常用于返回JSON或XML数据 区别3:…...

使用ExecutorService和@Async来使用多线程

文章目录 使用ExecutorService和Async来使用多线程采用ExecutorService来使用多线程多线程过程的详细解释注意事项优点 使用Async来使用多线程对比Async和ExecutorService的多线程使用方式使用 ExecutorService 的服务类使用 Async 的服务类异步任务类自定义线程池主应用类解释…...

计算机网络 (19)扩展的以太网

前言 以太网(Ethernet)是一种局域网(LAN)技术,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网技术不断演进,从最初的10Mbps到如今的10Gbps、25Gbps、40Gbps、100Gbps等,已成…...

构造器/构造方法

1. 构造器 1.1 概述 先浏览下面简单代码; class Cons{ // 属性int age;String name; // 方法public void show(){System.out.println("age"age);} } class ConsTest{public static void main(String[] args) {Cons c new Cons();// Cons() 就是…...

异常

目录 1. 异常的概念及使用 1.1 异常的概念 1.2 异常的抛出和捕获 1.3 栈展开 1.4 查找匹配的处理代码 1.5 异常的重新抛出 1.6 异常安全问题 1.7 异常规范 2. 标准库的异常 1. 异常的概念及使用 1.1 异常的概念 异常处理机制允许程序中独⽴开发的部分能够在运⾏时就…...

MySQL中distinct和group by去重的区别

MySQL中distinct和group by去重的区别 在MySQL中,我们经常需要对查询结果进行去重,而DISTINCT和GROUP BY是实现这一功能的两种常见方法。虽然它们在很多情况下可以互换使用,但它们之间还是存在一些差异的。接下来,我们将通过创建测…...

Qt判别不同平台操作系统调用相应动态库读取RFID

本示例使用的读卡器&#xff1a;https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1b8jdyXi&ftt&id562957272162 #include <QDebug> #include "mainwindow.h" #include "./ui_mainwindow.h" #include "QLibrary"…...

vue2+echarts实现水球+外层动效

实现效果 安装echarts-liquidfill 需要安装echarts-liquidfill&#xff01;&#xff01;&#xff01;需要安装echarts-liquidfill&#xff01;&#xff01;&#xff01;需要安装echarts-liquidfill&#xff01;&#xff01;&#xff01; 安装命令 npm install echarts-liqui…...

C++ 基础思维导图(一)

目录 1、C基础 IO流 namespace 引用、const inline、函数参数 重载 2、类和对象 类举例 3、 内存管理 new/delete 对象内存分布 内存泄漏 4、继承 继承权限 继承中的构造与析构 菱形继承 1、C基础 IO流 #include <iostream> #include <iomanip> //…...

【gopher的java学习笔记】依赖管理方式对比(go mod maven)

什么是go mod go mod是Go语言官方引入的模块管理工具&#xff0c;旨在简化项目依赖管理&#xff0c;提高构建的可重复性和稳定性。以下是关于go mod的详细介绍&#xff1a; 在go mod之前&#xff0c;Go语言主要依赖GOPATH和vendor目录来管理项目依赖。然而&#xff0c;这种方式…...

CTFshow—远程命令执行

29-35 Web29 代码利用正则匹配过滤了flag&#xff0c;后面加了/i所以不区分大小写。 可以利用通配符绕过 匹配任何字符串&#xff0f;文本&#xff0c;包括空字符串&#xff1b;*代表任意字符&#xff08;0个或多个&#xff09; ls file * ? 匹配任何一个字符&#xff08;不…...

Qt之简易音视频播放器设计(十五)

Qt开发 系列文章 - MediaPlayer&#xff08;十五&#xff09; 目录 前言 一、QMediaPlayer 二、实现方式 1.添加multimedia 2.创建类vedioplayer 3.UI设计 4.用户使用 5.效果演示 总结 前言 利用Qt进行音视频播放器设计&#xff0c;首先比较方便使用的是Qt自带的音视…...

ArrayList 和LinkedList的区别比较

前言 ‌ArrayList和LinkedList的主要区别在于它们的底层数据结构、性能特点以及适用场景。‌ArrayList和LinkedList从名字分析&#xff0c;他们一个是Array&#xff08;动态数组&#xff09;的数据结构&#xff0c;一个是Linked&#xff08;链表&#xff09;的数据结构&#x…...

Wallpaper壁纸制作学习记录13

骨骼物理模拟 Wallpaper Engine还允许您为人偶变形骨骼配置某些物理模拟。选择骨骼时&#xff0c;点击编辑约束来配置骨骼这些属性。 警告 请记住&#xff0c;物理模拟可能会根据用户的最大FPS设置略微改变其行为。 Wallpaper Engine编辑器将始终以高帧速率渲染。您可以将壁纸…...

Visual Studio 2022安装教程

1、下载网址 Visual Studio 2022 IDE安装网址借助 Visual Studio 设计&#xff0c;具有自动完成、构建、调试、测试功能的代码将与 Git 管理和云部署融为一体。https://visualstudio.microsoft.com/zh-hans/vs/ 点击图片所示 双击运行 2、安装 点击C桌面开发&#xff08;右边…...

std__invoke 的使用

std__invoke 的使用 文章目录 std__invoke 的使用1. std::invoke 的功能2. 语法3. 使用场景1. 调用普通函数2. 调用成员函数3. 调用成员函数&#xff08;通过指针或引用&#xff09;4. 调用函数对象&#xff08;仿函数&#xff09;5. 调用 Lambda 表达式 4. std::invoke 的优势…...

2501d,d.109

原文 2.109.0带来了15个主要更改和26个修复的Bugzilla问题.非常感谢39位贡献者,是他们使2.109.0变成可能. 更改编译器 1,[下一版]现在,为类型实例的成员设置别名是个错误 2,添加位字段内省功能 3,添加了从CTFE写入消息的__ctfeWrite 4,现在-verrors也限制弃用警告 5,dtoh为e…...

1、蓝牙打印机环境搭建

本项目采用stm32f103c8T6芯片&#xff0c;通过库函数实现打印功能&#xff0c;并配置有小程序蓝牙通信上位机。 1、创建文件夹目录 core文件夹存放核心库文件 LIB文件夹存放标准库函数文件 这里可以删减&#xff0c;用不到的可以不要。 obj存放编译后的文件 project存放项目…...

解决Swagger2集成中v2/api-docs接口404问题的关键:正确配置Docket分组

1. 为什么访问v2/api-docs会返回404&#xff1f; 这个问题困扰过不少开发者。当你兴冲冲地集成完Swagger2&#xff0c;打开swagger-ui.html页面&#xff0c;却发现页面一片空白&#xff0c;控制台报错显示v2/api-docs接口返回404。更让人抓狂的是&#xff0c;单独访问这个接口时…...

ERNIE-4.5-0.3B-PT创意写作实战:用AI帮你生成有画面感的场景描述

ERNIE-4.5-0.3B-PT创意写作实战&#xff1a;用AI帮你生成有画面感的场景描述 1. 为什么需要AI辅助创意写作 在内容创作领域&#xff0c;最令人头疼的莫过于如何让文字"活起来"。传统写作往往面临三大痛点&#xff1a; 画面感不足&#xff1a;描述停留在表面&#…...

Drone-DETR实战:如何在VisDrone2019数据集上实现轻量化小目标检测(附完整代码)

Drone-DETR实战&#xff1a;轻量化小目标检测在无人机遥感图像中的应用 无人机航拍图像中的小目标检测一直是计算机视觉领域的难点。当你在处理VisDrone2019这类数据集时&#xff0c;传统检测方法往往力不从心——那些在400米高空拍摄的汽车、行人等目标&#xff0c;可能只占图…...

OpenClaw网页前端开发与优化全流程指南

OpenClaw网页前端开发与优化全流程指南 &#x1f310; 核心价值&#xff1a;OpenClaw实现"需求→设计→代码→优化→部署"全流程自动化&#xff0c;开发效率提升600%&#xff0c;页面加载速度提升300%&#xff0c;SEO评分提升85%&#xff0c;完全兼容React/Vue/Angul…...

Agent--多轮对话系统设计6道高频考题解析

去年面试某大厂AI岗位&#xff0c;多轮对话这块被追问了好几道题&#xff0c;有些问题当时答得磕磕绊绊&#xff0c;回来后我把相关知识点重新梳理了一遍。这次复盘把面试中遇到的核心问题分享出来&#xff0c;希望对准备面试的同学有点帮助。真题现场&#xff1a; 面试刚开始&…...

Sora走了,PixVerse V6来了!AI视频空间时间处理能力大增,延时拍摄、慢动作都能搞

西风 发自 凹非寺量子位 | 公众号 QbitAISora前脚刚被叫停&#xff0c;国内AI视频玩家后脚立刻续上新模型。这回不搞“能生成视频就行”那套了&#xff0c;直接给你整出感官级沉浸式体验。有多沉浸&#xff1f;一句话让你get电影《功夫小蝇》同款视角&#xff0c;小蜜蜂误闯人类…...

被百度网盘限速逼疯了?用这款开源工具让下载速度提升70倍

被百度网盘限速逼疯了&#xff1f;用这款开源工具让下载速度提升70倍 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS &#x1f575;️‍♂️ 问题溯源&…...

Kandinsky-5.0-I2V-Lite-5s企业级部署案例:客服知识库配图→动态教学短视频生成

Kandinsky-5.0-I2V-Lite-5s企业级部署案例&#xff1a;客服知识库配图→动态教学短视频生成 1. 项目背景与需求分析 在客服培训领域&#xff0c;传统的知识库配图往往是静态图片&#xff0c;难以直观展示操作流程和动态场景。某大型电商平台客服团队面临以下痛点&#xff1a;…...

Obsidian PDF++:革新PDF文献管理的高效工具

Obsidian PDF&#xff1a;革新PDF文献管理的高效工具 【免费下载链接】obsidian-pdf-plus PDF: the most Obsidian-native PDF annotation & viewing tool ever. Comes with optional Vim keybindings. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-pdf-plus …...

Python包管理工具之uv的使用详细指南

uv 是一个新兴的 Python 包管理工具&#xff0c;它旨在提供比 pip 和 poetry 更快、更现代的依赖管理体验。uv 由 Charles Murphy 开发&#xff0c;基于 Rust 构建&#xff0c;具有极高的性能和兼容性&#xff0c;支持标准的 requirements.txt 文件以及 pyproject.toml 中的依赖…...