前言

假设有两期用地数据2012年和2017年,分成三种用地类型,首先得到这两期数据的栅格图像,每个栅格单元存储的值代表一种用地类型,然后以矩阵的方式读入内存中,再用numpy的flatten的方法将其一维化,最后调用python机器学习库sklearn.metrics中的confusion_metrix方法进行计算。

from sklearn.metrics import confusion_matrix
import numpy as npa = np.array([[1, 2], [3, 1]])  # 代表2012用地数据
b = np.array([[1, 3], [1, 2]])  # 代表2017
a = a.flatten()
b = b.flatten()
res = confusion_matrix(a, b)
print(res)#  输出结果:
#  [[1 1 0]
#  [0 0 1]
#  [1 0 0]]

取结果第一行第一列的值(1,1)= 1,表示2012年为1的用地类型在2017年也为1的用地类型有1个。(1, 2) = 1 表示2012年为1的用地类型在2017年也为2的有1个地块。

实际案例

以四川2000年和2010年土地利用变化数据为例,首先将两份数据保存为png格式的栅格图片,然后读入Python中,构建混淆矩阵,即可计算出土地利用面积转移矩阵:

import numpy as np
import sys, os
sys.path.append(os.pardir)
from PIL import Image
from sklearn.metrics import confusion_matrixsc_lucc_2000_img = Image.open('F:\\Temp\\SCLUCC2000.png')
sc_lucc_2010_img = Image.open('F:\\Temp\\SCLUCC2010.png')
sc_lucc_2000_array = np.asarray(sc_lucc_2000_img).flatten()
sc_lucc_2010_array = np.asarray(sc_lucc_2010_img).flatten()
transition_area = confusion_matrix(sc_lucc_2000_array, sc_lucc_2010_array)
print(transition_area)

计算结果:

与另一博主(数据由他提供)计算结果完全一致:https://blog.csdn.net/XiaoQingwaShine/article/details/95501091?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control

但计算和操作过程简便了许多。

微信

欢迎关注我的微信鼓励我继续写文章分享知识~

利用两期土地利用数据构造混淆矩阵(土地利用面积转移矩阵)相关推荐

  1. 利用matlab画混淆矩阵(confusion matrix)

    写论文的过程中经常需要画一个混淆矩阵(confusion matrix)来验证分类结果的有效性.通常只需要两个步骤: - 保存混淆矩阵文本文件 - matlab中使用imagesc命令 例如: > ...

  2. 机器学习中的混淆矩阵

    在我们的机器学习教程(前面的章节Python和NumPy的神经网络和神经网络从头开始),我们实现的各种算法,但是我们没有正确地测量输出的质量.主要原因是我们使用非常简单的小数据集来学习和测试.在Neu ...

  3. 混淆矩阵评价指标_分类效果评价指标一混淆矩阵

    1.混淆矩阵:判断分类模型好坏 (摘自:版权声明:本文为CSDN博主「Orange_Spotty_Cat」的原创文章.原文链接:https://blog.csdn.net/Orange_Spotty_ ...

  4. 混淆矩阵与miou代码

    一.混淆矩阵 # 计算混淆矩阵 def generate_matrix(num_class,gt_image, pre_image):#正确的gt_maskmask = (gt_image >= ...

  5. 人工智能学习07--pytorch11--分类网络:使用pytorch和tensorflow计算分类模型的混淆矩阵

    师兄说学目标检测之前先学分类 坏了,内容好多!学学学 感谢up主,好人一生平安 混淆矩阵 什么是混淆矩阵: 横坐标:每一列属于该类的所有验证样本.每一列所有元素对应真实类别. 纵坐标:网络的预测类别. ...

  6. 混淆矩阵及其评价指标

    1.混淆矩阵 混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示.在人工智能中,混淆矩阵是可视化工具,特别用于监督学习. 混淆矩阵的每一列代表了预测类别,每一列的总数表示预 ...

  7. 模型效果评价—混淆矩阵(原理及Python实现)

      对于分类模型,在建立好模型后,我们想对模型进行评价,常见的指标有混淆矩阵.KS曲线.ROC曲线.AUC面积等.也可以自己定义函数,把模型结果分割成n(100)份,计算top1的准确率.覆盖率.   ...

  8. 全国各省10米分辨率的土地利用数据的制作与分享

    1.简介 该数据来源是清华大学的宫鹏老师团队做的全球土地利用数据,但该数据只能分影像块进行下载,没有制作按区划数据进行归纳,本人使用python爬虫下载了全球共计7000景影像,并利用2021年的区划 ...

  9. WRF替换静态地理数据中的土地利用数据(WRF替换下垫面数据)

       在进行自己的WRF项目模拟的时候,因为需要用中国土地利用数据替换WRF内嵌老旧的土地利用数据,故需要将土地利用进行替换.我使用的中国的土地利用数据是来自中国土地利用数据(1980-2015).其 ...

最新文章

  1. gSOAP 在windows下的安装与使用(mingw32)
  2. beego学习笔记(4):开发文档阅读(3)
  3. Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降
  4. rust(11)-函数作为返回值和match(类似于switch)
  5. MA5680T OLT管理软件,全智能判断板卡,无人值守策略,根据光猫类型自动扫描添加光猫...
  6. java面向对象怎么学_Java面向对象入门
  7. 图像局部特征(三)--FAST角点检测子
  8. C#:判断数组中有没有某个值的方法
  9. 万维钢 万万没想到读书笔记
  10. Taro小程序生成二维码保存本地
  11. PSpice应用B-2
  12. 1380Problem C:zyf的A+B问题
  13. 小程序源代码 古诗词
  14. android好用拍照框架,Github挺好用的android图片选择框架(拍照+从相册)
  15. 计算机科学引论connectivity,计算机科学引论课后题原文
  16. Prometheus-监控主机基础指标配置及告警
  17. Vulkan_Shader—天空盒原理及源码
  18. 软件体系结构-03-层次体系结构概述
  19. 关于c语言中的exit()里面的意思
  20. ios-提升之【1】-UIApplication

热门文章

  1. 回顾我在中兴通讯的五年(一)
  2. 机房环境监控的系统概述
  3. 仿写哔哩哔哩的头部导航部分(HTML+CSS静态)
  4. Linux入门和使用
  5. 启动MySQL服务报错解决
  6. 【解决】android设备有root权限,执行“adb disable-verity”命令报错“verity cannot be disabled/enabled - USER build”
  7. 【表格样式】——HTML制作表格大全
  8. mysql innodb repair_MySQL数据库INNODB 表损坏修复处理过程 无法repair的变通方法
  9. 怎么对网站进行外部优化
  10. HP打印机的固件下载地址