利用两期土地利用数据构造混淆矩阵(土地利用面积转移矩阵)
前言
假设有两期用地数据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
但计算和操作过程简便了许多。
微信
欢迎关注我的微信鼓励我继续写文章分享知识~
利用两期土地利用数据构造混淆矩阵(土地利用面积转移矩阵)相关推荐
- 利用matlab画混淆矩阵(confusion matrix)
写论文的过程中经常需要画一个混淆矩阵(confusion matrix)来验证分类结果的有效性.通常只需要两个步骤: - 保存混淆矩阵文本文件 - matlab中使用imagesc命令 例如: > ...
- 机器学习中的混淆矩阵
在我们的机器学习教程(前面的章节Python和NumPy的神经网络和神经网络从头开始),我们实现的各种算法,但是我们没有正确地测量输出的质量.主要原因是我们使用非常简单的小数据集来学习和测试.在Neu ...
- 混淆矩阵评价指标_分类效果评价指标一混淆矩阵
1.混淆矩阵:判断分类模型好坏 (摘自:版权声明:本文为CSDN博主「Orange_Spotty_Cat」的原创文章.原文链接:https://blog.csdn.net/Orange_Spotty_ ...
- 混淆矩阵与miou代码
一.混淆矩阵 # 计算混淆矩阵 def generate_matrix(num_class,gt_image, pre_image):#正确的gt_maskmask = (gt_image >= ...
- 人工智能学习07--pytorch11--分类网络:使用pytorch和tensorflow计算分类模型的混淆矩阵
师兄说学目标检测之前先学分类 坏了,内容好多!学学学 感谢up主,好人一生平安 混淆矩阵 什么是混淆矩阵: 横坐标:每一列属于该类的所有验证样本.每一列所有元素对应真实类别. 纵坐标:网络的预测类别. ...
- 混淆矩阵及其评价指标
1.混淆矩阵 混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示.在人工智能中,混淆矩阵是可视化工具,特别用于监督学习. 混淆矩阵的每一列代表了预测类别,每一列的总数表示预 ...
- 模型效果评价—混淆矩阵(原理及Python实现)
对于分类模型,在建立好模型后,我们想对模型进行评价,常见的指标有混淆矩阵.KS曲线.ROC曲线.AUC面积等.也可以自己定义函数,把模型结果分割成n(100)份,计算top1的准确率.覆盖率. ...
- 全国各省10米分辨率的土地利用数据的制作与分享
1.简介 该数据来源是清华大学的宫鹏老师团队做的全球土地利用数据,但该数据只能分影像块进行下载,没有制作按区划数据进行归纳,本人使用python爬虫下载了全球共计7000景影像,并利用2021年的区划 ...
- WRF替换静态地理数据中的土地利用数据(WRF替换下垫面数据)
在进行自己的WRF项目模拟的时候,因为需要用中国土地利用数据替换WRF内嵌老旧的土地利用数据,故需要将土地利用进行替换.我使用的中国的土地利用数据是来自中国土地利用数据(1980-2015).其 ...
最新文章
- gSOAP 在windows下的安装与使用(mingw32)
- beego学习笔记(4):开发文档阅读(3)
- Lesson 4.34.4 梯度下降(Gradient Descent)基本原理与手动实现随机梯度下降与小批量梯度下降
- rust(11)-函数作为返回值和match(类似于switch)
- MA5680T OLT管理软件,全智能判断板卡,无人值守策略,根据光猫类型自动扫描添加光猫...
- java面向对象怎么学_Java面向对象入门
- 图像局部特征(三)--FAST角点检测子
- C#:判断数组中有没有某个值的方法
- 万维钢 万万没想到读书笔记
- Taro小程序生成二维码保存本地
- PSpice应用B-2
- 1380Problem C:zyf的A+B问题
- 小程序源代码 古诗词
- android好用拍照框架,Github挺好用的android图片选择框架(拍照+从相册)
- 计算机科学引论connectivity,计算机科学引论课后题原文
- Prometheus-监控主机基础指标配置及告警
- Vulkan_Shader—天空盒原理及源码
- 软件体系结构-03-层次体系结构概述
- 关于c语言中的exit()里面的意思
- ios-提升之【1】-UIApplication
热门文章
- 回顾我在中兴通讯的五年(一)
- 机房环境监控的系统概述
- 仿写哔哩哔哩的头部导航部分(HTML+CSS静态)
- Linux入门和使用
- 启动MySQL服务报错解决
- 【解决】android设备有root权限,执行“adb disable-verity”命令报错“verity cannot be disabled/enabled - USER build”
- 【表格样式】——HTML制作表格大全
- mysql innodb repair_MySQL数据库INNODB 表损坏修复处理过程 无法repair的变通方法
- 怎么对网站进行外部优化
- HP打印机的固件下载地址