Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >对两个FeatureCollections执行准确性评估

对两个FeatureCollections执行准确性评估
EN

Stack Overflow用户
提问于 2020-08-26 16:32:17
回答 1查看 31关注 0票数 0

我想对包含多边形形式的湖泊的两个FeatureCollections执行二进制精度评估(ErrorMatrix)。一个集合包含分类结果(需要将光栅转换为矢量,以计算区域大小并删除较小的对象),另一个集合包含表示现实的验证数据。多边形表示属性为landcover 1的湖泊。如何合并两个集合以拥有执行ErrorMatrix()所需的特定列?我尝试使用这里描述的https://developers.google.com/earth-engine/guides/joins_spatial方法,但似乎对ErrorMatrix()不起作用。有没有其他方法可以为两个FeatureCollections创建混淆矩阵?

EN

回答 1

Stack Overflow用户

发布于 2020-08-30 13:09:01

我找到了以下问题的解决方案:我可以使用ROC分析的方法来计算真假分类区域。下面是我的函数:

代码语言:javascript
运行
AI代码解释
复制
var validateLakes = function(classified, truth){
  //clip classified lakes to sampleareas
  classified = classified.filterBounds(sampleareas);
  
  //convert required FeatureCollections to single multipolygon Feature
  var classified_union = ee.Feature(classified.union().first());
  truth = ee.Feature(truth.union().first());
  var area = ee.Feature(sampleareas.union().first());
  
  //calculate tp, tf, fp & fn areas
  var tp = classified_union.intersection(truth);
  var tn = area.difference(classified_union.union(truth));
  var fp = classified_union.difference(truth);
  var fn = truth.difference(classified_union);
  
  /*
  //check results
  Map.addLayer(tp, {palette: 'FF0000'}, 'tp');
  Map.addLayer(tn, {palette: 'FF0000'}, 'tn');
  Map.addLayer(fp, {palette: 'FF0000'}, 'fp');
  Map.addLayer(fn, {palette: 'FF0000'}, 'fn');
  */
  
  //calculate size of areas
  var tp_area = ee.Number(tp.area());
  var tn_area = ee.Number(tn.area());
  var fp_area = ee.Number(fp.area());
  var fn_area = ee.Number(fn.area());
  
  //calculate tpr, fdr and accuracy
  //tpr = tp / (tp + fn)
  var tpr = tp_area.divide(tp_area.add(fn_area));
  //fdr = tp / (fp + tp)
  var fdr = fp_area.divide(fp_area.add(tp_area));
  //accuracy = (tp + tn) / (tp + tn + fp + fn)
  var numerator = tp_area.add(tn_area);
  var denominator = tp_area.add(tn_area.add(fp_area.add(fn_area)));
  var accuracy = numerator.divide(denominator);

  //function for adding values to classfied FeatureCollection
  var addProps = function(feature){
    feature = feature.set('TPR', tpr);
    feature = feature.set('FDR', fdr);
    feature = feature.set('ACCURACY', accuracy);
    return feature;
  };

  //return classified Collection with new properties
  return classified.map(addProps);
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63601925

复制
相关文章
分类模型的性能评估——以SAS Logistic回归为例: 混淆矩阵
跑完分类模型(Logistic回归、决策树、神经网络等),我们经常面对一大堆模型评估的报表和指标,如Confusion Matrix、ROC、Lift、Gini、K-S之类(这个单子可以列很长),往往让很多在业务中需要解释它们的朋友头大:“这个模型的Lift是4,表明模型运作良好。——啊,怎么还要解释ROC,ROC如何如何,表明模型表现良好……”如果不明白这些评估指标的背后的直觉,就很可能陷入这样的机械解释中,不敢多说一句,就怕哪里说错。本文就试图用一个统一的例子(SAS Logistic回归),从实际应用
机器学习AI算法工程
2018/03/13
2.5K0
分类模型的性能评估——以SAS Logistic回归为例: 混淆矩阵
混淆矩阵
混淆矩阵是一个表,经常用来描述分类模型(或“分类器”)在已知真实值的一组测试数据上的性能。混淆矩阵本身比较容易理解,但是相关术语可能会令人混淆。
用户3577892
2020/06/17
1.4K0
混淆矩阵
混淆矩阵及confusion_matrix函数的使用
1.混淆矩阵 混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)
随心助手
2019/10/15
2.3K0
混淆矩阵及confusion_matrix函数的使用
R:混淆矩阵
在机器学习中,最后要计算混淆矩阵,常用的函数有: table confusionMatrix 下面以前馈神经网络为例来说明: > library("RSNNS") 载入需要的程辑包:Rcpp > library("reshape") > #example data and code from nnet function examples > ir<-rbind(iris3[,,1],iris3[,,2],iris3[,,3]) > targets<-class.ind( c(rep("s", 50)
努力在北京混出人样
2019/02/18
1.2K0
混淆矩阵 (confusion matrix)
在机器学习中,混淆矩阵可以可视化预测的结果情形。即可以方便的看出模型是否将集中不同的类混淆。
生信编程日常
2020/04/01
1.7K0
混淆矩阵 (confusion matrix)
混淆矩阵(Confusion Matrix)
混淆矩阵是ROC曲线绘制的基础,同时它也是衡量分类型模型准确度中最基本,最直观,计算最简单的方法。
狼啸风云
2019/10/26
11.3K1
多分类任务的混淆矩阵
来源: DeepHub IMBA本文约1000字,建议阅读5分钟本文讨论了如何在多分类中使用混淆矩阵评估模型的性能。 什么是混淆矩阵? 它显示了实际值和预测值之间的差异。它告诉我们有多少数据点被正确预测,哪些数据点没有被正确预测。对于多分类来说,它是一个 N * N 矩阵,其中 n 是编号。输出列中的类别,也称为目标属性。一二分类任务中包含了 2 个类也就是一个 2*2 矩阵,一般情况下介绍混淆矩阵都会以二分类为例。如果有 3 个类呢?那么将得到一个 3*3 矩阵依此类推。通过上面描述我们知道,混淆矩阵的类
数据派THU
2022/03/04
8170
模型评估之混淆矩阵
在前面的文章中我们讲到了回归模型和分类模型的评估指标,区分了准确率和精确率的区别,并且比较了精确率和召回率内在的联系。本篇文章我们再来学习另外一个评估方法,即混淆矩阵(confusion_matrix)。
全栈程序员站长
2022/08/27
1.5K0
模型评估之混淆矩阵
模型效果评价—混淆矩阵
对于分类模型,在建立好模型后,我们想对模型进行评价,常见的指标有混淆矩阵、KS曲线、ROC曲线、AUC面积等。也可以自己定义函数,把模型结果分割成n(100)份,计算top1的准确率、覆盖率。
阿黎逸阳
2020/09/07
2.1K0
4.4.2分类模型评判指标(一) – 混淆矩阵(Confusion Matrix)
混淆矩阵是ROC曲线绘制的基础,同时它也是衡量分类型模型准确度中最基本,最直观,计算最简单的方法。
全栈程序员站长
2022/08/27
4.9K0
4.4.2分类模型评判指标(一) – 混淆矩阵(Confusion Matrix)
书籍作者的排名输入为列,如何快速转换为矩阵?
1、点击[文本] 2、按<Ctrl+F>键 3、点击[替换] 4、点击[查找内容] 5、点击[替换为] 6、点击[全部替换] 7、点击[确定]
裴来凡
2022/05/28
6050
书籍作者的排名输入为列,如何快速转换为矩阵?
【代码混淆】js项目 javascript-obfuscator - 以小程序、uniapp为例
本人平时会在放假期间写一些小程序拿去出售,个人爱好使然,那么前端代码混淆十分重要(无法加密,加密意味着需要解密,让浏览器给你解密么)。
躺平程序员老修
2023/09/05
4.2K0
【代码混淆】js项目 javascript-obfuscator - 以小程序、uniapp为例
写一函数,将一个3X3的整型矩阵转置
这题目很难理解=,=、 #include<iostream> #include<string> using namespace std; int main() { int a[3][3],b[3][3]; int i,j,k,(*p)[3],(*p2)[3]; p=a; p2=b; for(j=0;j<3;j++) for(k=0;k<3;k++) cin>>*(*(p+j)+k); cout<<"原始矩阵:"<<endl; for
py3study
2020/01/09
1.6K0
Python_代码练习_写一个判断是否为小数的函数
这两天在学习函数,练习写一个判断是否为小数的函数,看起来蛮简单的,飞速写完很是得意,然后测了一下,发现差得好多呀,这个并不像想象那样简单,我得到的教训是,想要把一个需求哪怕再小的需求考虑周全,都不是件简单的事。
呆呆
2021/05/25
5550
混淆矩阵简介与Python实现
混淆矩阵是机器学习中总结分类模型预测结果的情形分析表,以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总。这个名字来源于它可以非常容易的表明多个类别是否有混淆(也就是一个class被预测成另一个class)
里克贝斯
2021/05/21
1.9K0
混淆矩阵简介与Python实现
新的加密货币 Dero 挖矿活动,正以Kubernetes集群为目标进行
CrowdStrike在一份新报告中说:新的Dero加密货币开采活动集中定位在Kubernetes集群,该集群在Kubernetes API上启用了匿名访问,并在可从互联网访问的非标准端口上进行监听。 这一发展标志着从Monero的一个明显转变,Monero是此类活动中普遍使用的加密货币。这可能与Dero 提供更大的奖励和更好的匿名功能有关。 这些攻击是由一个不知名的攻击者进行的,首先是扫描Kubernetes集群,认证设置为--anonymous-auth=true,这允许匿名请求服务器,从三个不同的美国
FB客服
2023/03/29
3410
新的加密货币 Dero 挖矿活动,正以Kubernetes集群为目标进行
分类模型的评估指标 | 混淆矩阵(2)
遥感影像分类就是一个对给定的遥感影像所包含的所有像元的地表属性进行识别归类的过程;目的是在属性识别归类的基础上获取研究区域内各个地物类型的分布状况及面积。
GIS与遥感开发平台
2022/04/29
3K0
分类模型的评估指标 | 混淆矩阵(2)
分类模型的评估指标 | 混淆矩阵(1)
最近小编分享的都是较为基础的操作方法或理论知识,且都总结在这个专辑中,目的是帮助初学GIS和RS的小伙伴们加深对一些专业名词知识的理解,熟悉一些基础操作的操作流程。而不是像小编大一时,面对这些专业性极强的东西两眼一抹黑,学习的很吃力;此外,基础是延伸和扩展的前提,基础的东西如果掌握的不牢靠,那么在前沿事物的钻研过程中也不会取得更大的建树。因此,小编分享这些基础知识,既是对初学者的帮助,也是对自己的巩固与总结。
GIS与遥感开发平台
2022/04/29
8870
分类模型的评估指标 | 混淆矩阵(1)
混淆矩阵及其可视化
混淆矩阵(Confusion Matrix)是机器学习中用来总结分类模型预测结果的一个分析表,是模式识别领域中的一种常用的表达形式。它以矩阵的形式描绘样本数据的真实属性和分类预测结果类型之间的关系,是用来评价分类器性能的一种常用方法。
老肥码码码
2020/04/26
2.2K0
点击加载更多

相似问题

向Python添加函数

13

向python函数添加异常

218

向python函数添加条件

22

向Python中的现有类添加自定义函数

17

向gdb中添加python函数

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档