Google Earth Engine精度评价方法

今天讲讲如何在GEE中做最后的精度评价。主要是因为在和许多读者或通过交流群,或通过私聊沟通过程中,发现很多人还不是很理解在GEE中分类后精度评价的问题。
在进行评价之前,需要明晰在GEE中精度评价分为哪几种情况。我们这里说的是两种情况。

第一种,构建好了分类模型后,将分类模型应用于验证样本集,然后计算混淆矩阵;

第二种,没有分类模型,只有分类结果图,那么应该是将分类结果图应用于样本集,最后计算混淆矩阵。

对于第一种情况,由于官方给出了有关代码,所以大家都比较好理解,也正是这么做的,具体参见下图。(参见代码:https://code.earthengine.google.com/e145a3f0e88cc272c6541f4514bb3093)

图片

对于第二种情况,则有很多人不理解,或者还没有完全掌握。举个例子,下面有一张水体分类图和验证样本,需要计算水体精度,该如何做呢?其实也是可以做的,最后的结果见下图:

图片

图片

那么两种方法的区别或者一致性是什么呢?这地方有个概念需要理解清楚,即精度评价针对的是测试样本本身,而不是模型。也就是说,对于测试样本集,我们已经构建好了标签信息,那么接下来要做的只是找到每个样本对应的分类标记就行。而分类标签的获取,可以是来源于模型,而更多的应该是直接来源于分类图结果。

那么,对应到GEE中,测试样本集最后会是一个FeatureCollection类,在FeatureCollection类中可以计算混淆矩阵等指标,其输入只需要两个不同的字段(比如样本的属性字段“class”和分类结果图字段“classification”)。那么,如何获取这两个字段,以及成功获取这两个字段,就可以计算精度。

对应于第一种情况,因为模型已经构建好了,当然可以用于分类每个样本的分类属性,所以可以构建这两个字段以及计算混淆矩阵的,也就是直接使用:

图片

对应于第二种情况,由于没有模型而只有分类结果图,所以需要做的就是获取测试样本集对应位置的分类结果,那么在GEE中自然想到sampleRegions函数,或者类似于能够替换sampleRegions的函数,效果如下图:

图片

那么,第二种方式较第一种方式有什么好处呢?

1)第二种方式使用范围更广泛,本质上更好,因为不再设计推理的过程

2)第二种方案非常适合在分块情况下的精度评价。我们知道分块后,每一块的测试样本集都是不同的,但是又需要给出一个总的整体的精度评价,那么此时需要将每一块内的测试样本集整合起来,最后利用全局分类图进行评价,那么此时就需要使用我们今天介绍的方法了。

今天的水体精度评价代码如下,大家有需要的自取:
https://code.earthengine.google.com/6d2ed19fb3917832c8883ad8ab0d77e6

var imgData = waterImg.rename('waterImg');Map.addLayer(imgData,{'min':0,'max':1,'palette':["f1f1f1","2010ff"]},"2018-01水體分佈圖")
var sampleSet = ee.FeatureCollection([waterPoint,nonWaterPoint]).flatten();
var imageSamp = imgData.sampleRegions({  "collection": sampleSet,  "scale": 10,  'properties':['class']  // geometries: true});print(imageSamp)var confusionMatrix = imageSamp.errorMatrix('waterImg', 'class');//计算混淆矩阵print('confusionMatrix',confusionMatrix);//面板上显示混淆矩阵print('overall accuracy', confusionMatrix.accuracy());//面板上显示总体精度print('kappa accuracy', confusionMatrix.kappa());//面板上显示kappa值

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

收藏品NFT的开发流程

开发收藏品NFT的流程涉及多个阶段,从概念化和设计到技术实现和市场推广。以下是详细的开发步骤,通过这些步骤,可以成功开发和发布收藏品NFT项目,吸引用户和投资者,并确保项目的持续运营和成功。北京木奇移动技术有限公…

Fiddler入门(接口抓包及APP测试)

目录 一、Fiddler基础介绍 二、Fiddler的作用 三、Fiddler安装 四、Fiddler界面功能介绍 1、界面介绍 1)、菜单栏介绍 2)、工具栏介绍 3)、会话栏介绍 五、Fiddler抓取https数据 (面试题) 六、Fiddler…

【刷题(17)】技巧

一 技巧基础 二 136. 只出现一次的数字 1 题目 2 解题思路 哈希表map 其实看到题目数组中某个元素出现的次数也可以直接用unordered_map容器统计每一个元素出现的次数,然后在遍历整个map容器查看是否有元素出现的次数等于1 3 code class Solution { public:in…

商城项目【尚品汇】07分布式锁-2 Redisson篇

1 Redisson功能介绍 基于自定义setnx实现的分布式锁存在下面的问题: 重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中,可重入锁的意义在于防止死锁,比如HashTable这样的代码中,他的方法都是使用…

将HTML页面中的table表格元素转换为矩形,计算出每个单元格的宽高以及左上角坐标点,输出为json数据

export function huoQuTableElement() {const tableData []; // 存储表格数据的数组let res [];// 获取到包含表格的foreignObject元素const foreignObject document.getElementById(mydctable);if (!foreignObject){return ;}// 获取到表格元素let oldTable foreignObject…

Nativefier : 将网址打包成exe桌面程序

1、需求场景 在日常开发中,需要针对一些网页在一体机上使用,同时在浏览器上也可以使用,这里推荐大家用nativefier,对网址进行打包。以下是nativefier安装命令: npm install nativefier -g 2、使用方法 --arch 系统 …

《混凝土坝监测仪器系列型谱》修订中监测仪器分类方案解读

随着科技的不断进步和监测需求的日益增加,对监测仪器分类方案进行修订已成为必然的趋势。本文旨在探讨《混凝土坝监测仪器系列型谱》中对现有仪器分类方式的修订,以及监测仪器选用的相关内容。希望对大家中有所帮助: 一、取消过时条目&#x…

java中方法引用

目录 方法引用: 引用静态方法 引用成员方法 引用构造方法 使用类名引用成员方法 引用数组的构造方法 练习 方法引用: 把已经有的方法拿过来用,当做函数式接口中抽象方法的方法体 在Java中,方法引用是一种简化Lambda表达式的…

教务管理系统-学员办理体系介绍

随着时代的快速开展,教育方面也没落下,不仅是线下线上都呈现许多训练校园,办理软件也顺势而为的呈现广阔训练校园面前,许多的校园和训练组织也都在运用教务管理系统了。运用教务管理系统里边的学员办理体系可以让相应的办理人员更…

Redis的一致性

一、产生的原因 使用缓存,在进行写操作的时候就会出现不一致的问题。 一致性分为三类:强一致性,弱一致性,最终一致性 二、方案 2.1 延时双删 在更新数据库的操作前后分别进行一次删除缓存的操作,并在更新数据库之后…

《HelloGitHub》第 98 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

容器化部署fastdfs文件存储

目录 一、软件信息 二、构建fastdfs镜像 三、docker 启动fdfs服务 四、k8s部署fdfs服务 1、fdfs部署文件 五、外部服务访问 一、软件信息 fastdfs版本:fastdfs:V5.11 libfastcommon版本: V1.0.36 fastdfs-nginx-module版本:V1.20 nginx版本&…

使用Spring Boot和MybatisPlus的Java CRM客户关系管理系统源码

项目名称:CRM客户关系管理系统 功能模块及描述: 一、待办事项 今日需联系客户:显示当日需跟进的客户列表,支持查询和筛选。 分配给我的线索:管理分配给用户的线索,包括线索列表和查询功能。 分配给我的客…

导弹研究中常用坐标系及坐标系之间的变换

在导弹飞行控制过程中,需要时刻掌握导弹的飞行状态 (速度、位置、姿态角等),这就有赖于描述导弹飞行状态的坐标系。除了大地坐标系和地心大地直角坐标系外,导弹常用的坐标系还有很多,合理而恰当地选择参考系…

37【透视】两点透视

1 两点透视比较合适表现物体的结构 用两点透视绘制比较小的、箱子之类的物体 2 一点透视和两点透视的共存关系

vs - vs2013/vs2019工程文件的区别

文章目录 vs - vs2013/vs2019工程文件的区别概述笔记sln文件的区别VisualStudioVersion vcxproj文件的区别ToolsVersionPlatformToolset 备注更方便的方法END vs - vs2013/vs2019工程文件的区别 概述 为了避免安装UCRT的问题,想将手头的vs2019工程降级为vs2013工程…

解决Mac ~/.bash_profile 配置的环境变量重启终端后失效问题

在Mac系统中,配置环境变量通常是在~/.bash_profile文件中进行。然而,有时会遇到配置的环境变量在重启终端后失效的问题。 解决办法: 在~/.zshrc文件最后或最前面,增加一行 source ~/.bash_profile

SARscape雷达图像处理软件简介

合成孔径雷达(SAR)拥有独特的技术魅力和优势,渐成为国际上的研究热点之一,其应用领域越来越广泛。SAR数据可以全天候对研究区域进行量测、分析以及获取目标信息。高级雷达图像处理工具SARscape,能让您轻松将原始SAR数据…

Leetcode 第 131 场双周赛题解

Leetcode 第 131 场双周赛题解 Leetcode 第 131 场双周赛题解题目1:3158. 求出出现两次数字的 XOR 值思路代码复杂度分析 题目2:3159. 查询数组中元素的出现位置思路代码复杂度分析 题目3:3160. 所有球里面不同颜色的数目思路代码复杂度分析 …

AI 时代,产品经理该如何进化

前言 传统的互联网业务或者游戏业务,产品或者业务输出需求,技术人员只需要指哪打哪就好了。而人工智能发展到当下这个尴尬的阶段,仿佛它能干很多事,但是真把它往业务里搁就发现,这个叛逆的小东西不一定胜任的了这些有…