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

中科星图(GVE)——使用随机森林方法进行土地分类

目录

简介

函数

gve.Classifier.smileRandomForest(numberOfTrees,variablesPerSplit,minLeafPopulation,bagFraction,maxNodes,seed)

代码

结果


简介

使用随机森林方法进行土地分类的步骤如下:

  1. 数据准备:收集所需的土地分类数据,并对数据进行预处理,包括缺失值处理、数据标准化等。

  2. 特征选择:根据土地特征的重要性选择合适的特征,可以使用特征选择算法如信息增益、方差选择等。

  3. 数据集划分:将数据集划分为训练集和测试集,通常采用70%的数据作为训练集、30%的数据作为测试集。

  4. 随机森林建模:使用训练集数据建立随机森林模型。随机森林是由多个决策树组成的集成学习模型,每个决策树通过对一部分有放回的样本进行训练而构建。

  5. 模型训练:通过训练集数据对随机森林模型进行训练,即对每个决策树进行单独的训练。

  6. 模型预测:使用训练好的随机森林模型对测试集数据进行分类预测。

  7. 模型评估:对预测结果进行评估,可以使用准确率、精确率、召回率等指标衡量模型的性能。

  8. 参数调优:根据模型评估结果,对随机森林模型的参数进行调优,以提高模型的性能。

  9. 模型应用:使用经过调优的随机森林模型对新的土地分类数据进行预测。

需要注意的是,随机森林方法在处理高维数据和大数据集时具有较好的性能,但对于类别不平衡的情况可能存在一定的问题。在实际应用中,可以根据具体需求选择合适的模型和算法进行土地分类。

函数

gve.Classifier.smileRandomForest(numberOfTrees,variablesPerSplit,minLeafPopulation,bagFraction,maxNodes,seed)

创建一个空的随机森林分类器

方法参数

- numberOfTrees( number )

创建的决策树数量

- variablesPerSplit( number,optional )

可选参数,每个变量拆分的数量

- minLeafPopulation( number,optional )

可选参数,创建至少包含这些点的节点

- bagFraction( number,optional )

可选参数,每棵树的输入袋比例

- maxNodes( number,optional )

可选参数,每棵树中最大的叶子节点数量

- seed( number,optional )

可选参数,随机种子

返回值: Classifier

代码

/*** @File    :   * @Time    :   2023/08/28* @Author  :   GEOVIS Earth Brain* @Version :   0.1.0* @Contact :   中国(安徽)自由贸易试验区合肥市高新区望江西路900号中安创谷科技园一期A1楼36层* @License :   (C)Copyright 中科星图数字地球合肥有限公司 版权所有* @Desc    :   对影像使用随机森林算法进行分类*/
/** */// 地物分类标签影像
var imgLable = gve.Image("AIRCAS/GLC_FCS30_2020/GLC_FCS30_2020_E115N35");
Map.centerObject(imgLable)
var id = Map.addLayer(imgLable, null, "imgLable");var label = 'LABLE';
var imgLableRemapped = imgLable.rename(label)// Sentinel2 待分类影像
var img = gve.Image("S2/L2A/20221107T024919_20221107T050438_T50SNA").select('B.*');
// print("Sentinel2 img",img);// 获取区域
var ROI = gve.Geometry.Polygon([[[117.15900037027156, 31.807122313784646],[117.15900037027156, 31.633066875770748],[117.65750500894343, 31.633066875770748],[117.65750500894343, 31.807122313784646]]]
);// 波段采样的数量 
var numPoints = 100;
// 分类波段id 
var classBand = label;
// 采样区域 
var region = ROI;
// 缩放 
var scale = 100;
var sample = img.addBands(imgLableRemapped).stratifiedSample(numPoints, classBand, region, scale);
// print('sample',sample)// 样本数据增加随机值属性,用于划分训练数据和验证数据
var sample = sample.randomColumn();// 80%样本用于训练,20%样本用于验证
var trainingSample = sample.filter('random<=0.8');
var validationSample = sample.filter('random>0.8');// 采用欧几里得距离模式训练最小距离分类器
var features = trainingSample;
var classProperty = label;
var inputProperties = img.bandNames();
//gve.Classifier.Cart(maxNodes,minLeafPopulation,maxDepth)
var trainedClassifier = gve.Classifier.smileRandomForest(50).train(features, classProperty, inputProperties);
//gve.Classifier.Cart()
//gve.Classifier.minimumDistance('euclidean', 10)
// print('trainedClassifier',trainedClassifier)
// 打印已训练完的分类器信息
print('Explain of trained classifier', trainedClassifier.explain());
// 获取训练数据的混淆矩阵和整体准确率
var trainedMatrix = trainedClassifier.confusionMatrix();
// print('Training confusion matrix', trainedMatrix);
print('Training overall accuracy', trainedMatrix.accuracy());// 获取验证数据的混淆矩阵和整体准确率
validationSample = validationSample.classify(trainedClassifier);
// print('validationSample',validationSample)// errorMatrix是一个混淆矩阵 
var validationMatrix = validationSample.errorMatrix(label, 'classification');
// print('Validation confusion matrix', validationMatrix);
print('Validation accuracy', validationMatrix.accuracy());// 使用分类器对分类
var imgClassified = img.classify(trainedClassifier);
// print("imgClassified",imgClassified)var classVis = {band_rendering: {uniquevalue: {colortable: {values: [10, 11, 20, 51, 52, 61, 62, 71, 72, 130, 180, 190, 210],colors: ['#FFFF64', '#FFFF64', '#AAF0F0', '#4C7300', '#006400', '#00A000','#AAC800', '#003C00', '#005000', '#FFB432', '#00DC82', '#C31400', '#0046C8'],na: "#000000"}}}
};Map.centerObject(img)
var id1 = Map.addLayer(img, { bands: ['B4', 'B3', 'B2'], min: 100, max: 3500 }, 'img');Map.centerObject(imgClassified)
var id2 = Map.addLayer(imgClassified, { palette: classVis }, 'Classified');

结果

  • Explain of trained classifier"
  • 2024-10-11 11:00:57.769 

    ▶ Object (15 properties)
  • 2024-10-11 11:00:57.770 

    "Training overall accuracy"
  • 2024-10-11 11:00:57.770 

    0.9896680216802168
  • 2024-10-11 11:00:57.770 

    "Validation accuracy"
  • 2024-10-11 11:00:57.771 

    0.01386001386001386
  • 2024-10-11 11:02:52.600 

    "Error: {"message":"参数异常","code":40205}"

相关文章:

中科星图(GVE)——使用随机森林方法进行土地分类

目录 简介 函数 gve.Classifier.smileRandomForest(numberOfTrees,variablesPerSplit,minLeafPopulation,bagFraction,maxNodes,seed) 代码 结果 简介 使用随机森林方法进行土地分类的步骤如下&#xff1a; 数据准备&#xff1a;收集所需的土地分类数据&#xff0c;并对数…...

【蓝队技能】【C2流量分析】MSFCSSliver

蓝队技能 MSF&CS&Sliver 蓝队技能总结前言一、MSF1.1 流量分析1.2 特征提取 二、CS1.1 流量分析1.2 特征提取 二、Sliver1. 特征分析 总结 前言 不同C2工具的流量特征都有细微差别&#xff0c;学会分析方法后就可以进行分析 一、MSF 1.1 流量分析 MSF流量特征过于明显…...

不推荐使用Scilab作为MATLAB的开源替代

安装了Scilab2024.1.0&#xff0c;随便试了几分钟就发现有严重影响使用的Bug(也可能是就是这样设计的&#xff0c;有一个所谓的“暂停模式”)&#xff0c;复现步骤&#xff1a;主界面上点击“Scilab示例”按钮&#xff0c;打开“演示”窗口&#xff0c;点击左侧列表中的“多项式…...

C++智能指针及其应用

C11之后出现了 shared_ptr 和 unique_ptr&#xff0c;这两个类都是基于RAII技术进行设计的 RAII 利用对象生命周期来控制程序资源&#xff08;如内存&#xff0c;文件句柄&#xff0c;网络连接&#xff0c;互斥量等资源&#xff09;的技术&#xff0c;具体地说&#xff0c;就是…...

06 算法基础:算法的定义、表现形式(自然语言、伪代码、流程图)、五个特性(有穷性、确定性、可行性、输入、输出)、好算法的设计目标

目录 1 算法的定义 2 算法的三种表现形式 2.1 自然语言 2.2 伪代码 2.3 流程图 3 算法的五个特性 3.1 有穷性 3.2 确定性 3.3 可行性 3.4 输入 3.5 输出 4 好算法的设计目标 4.1 正确性 4.2 可读性 4.3 健壮性 4.4 通用性 4.5 高效率与低存储量 1 算法的定义 …...

【红外传感器】STM32C8T6标准库使用红外对管

好好学习&#xff0c;天天向上 前言一、了解红外二、标准库的代码1.infrared.c2.infrared.h3.main.c4 现象 总结 前言 红外线&#xff1a;频率介于微波与可见光之间的电磁波。 参考如下 【STM32】标准库与HAL库对照学习教程外设篇–红外避障传感器 光电红外传感器详解&#…...

STM32L010F4 最小系统设计

画一个 STM32L010F4 的测试板子...... by 矜辰所致前言 最近需要用到一个新的 MCU&#xff1a; STM32L010F4 &#xff0c;上次测试的 VL53L0X 需要移植到这个芯片上&#xff0c;网上一搜 STM32L010F4&#xff0c;都是介绍资料&#xff0c;没有最小系统&#xff0c;使用说明等。…...

AI 工具大赏:探索智能时代的得力助手

在当今这个科技飞速发展的时代&#xff0c;人工智能&#xff08;AI&#xff09;技术已经深入到我们生活的方方面面。从日常办公到创意设计&#xff0c;从学术研究到娱乐休闲&#xff0c;AI 工具正以其强大的功能和便捷的使用体验&#xff0c;成为人们不可或缺的得力助手。那么&…...

安通物流借助CRM重塑企业客户关系管理新格局

安通控股股份有限公司(以下简称"安通控股")是一家扎根集装箱多式联运物流产业的现代综合物流服务企业,致力于为客户提供绿色、经济、高效、安全的集装箱全程物流解决方案。 据Alphaliner排名统计,截至2023年10月,安通控股综合运力全球排名21位,位居国内内贸集装箱物…...

C++标准模板库--vector

vector 介绍 vector&#xff08;向量&#xff09;是一种序列容器&#xff0c;表示为可以改变大小的数组。vector中的元素使用连续的存储位置&#xff0c;这意味着也可以使用指向其元素的常规指针偏移量来访问任意元素&#xff0c;且与数组一样高效。但与数组不同的是&#xff…...

通信学习干货:运营商为什么要大力推广FTTR?

随着数字化时代的来临&#xff0c;互联网的需求不断增长&#xff0c;家庭网络也在不断演进。光纤到家&#xff08;FTTH&#xff09;已经成为提供高速互联网连接的标配&#xff0c;但随着技术的发展&#xff0c;我们迎来了FTTR&#xff08;光纤到房间&#xff09;技术&#xff0…...

【Spring篇】初识之Spring的入门程序及控制反转与依赖注入

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【计算机网络】&#xff0c;【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 文章目录 &#x1f3af;初始Spring …...

OpenLayers:构建高质量的Web地图应用

OpenLayers&#xff1a;构建高质量的Web地图应用 文章目录 OpenLayers&#xff1a;构建高质量的Web地图应用简介为什么选择 OpenLayers&#xff1f;跨平台兼容性高性能渲染高度可定制化社区支持 安装与设置功能扩展矢量图层地理编码投影转换 交互与事件其他高级特性控制动画数据…...

Java比较两个Excel是否内容一致

领导每天让比较两个Excel中的内容&#xff0c;为了节省工作效率多摸鱼&#xff0c;就写了个java接口&#xff0c;通过上传两个文件 进行代码比较得到详细的比较结果(这个需要自己根据日志二开) 目前只实现了比较功能 话不多说直接上代码&#xff0c;具体看注释 package com.yx…...

UniApp入门教程

UniApp X 是一种用于构建跨平台应用程序的框架&#xff0c;它基于 Vue.js 并通过 UniApp 技术栈支持多种平台&#xff0c;如微信小程序、支付宝小程序、H5、Android 和 iOS。以下是 UniApp X 的一些关键特点和基础知识&#xff1a; UniApp X 的特点 跨平台支持&#xff1a; 可…...

Vue.js中使用Element UI实现动态表单项管理及验证

在Vue.js项目中&#xff0c;表单是与用户交互的重要部分&#xff0c;特别是在需要动态管理表单项的场景下&#xff0c;如何优雅地实现添加、删除、上移、下移及验证功能变得尤为重要。本文将详细介绍如何使用Element UI来实现一个包含动态表单项管理以及验证功能的表单。 效果…...

一插U盘就提示格式化?原因、恢复与预防全攻略

一、现象直击&#xff1a;U盘插入电脑即提示格式化 在日常的工作与生活中&#xff0c;U盘作为重要的数据存储和传输工具&#xff0c;被广泛应用于各类场景。然而&#xff0c;有时当我们满怀期待地将U盘插入电脑时&#xff0c;却会遭遇一个令人头疼的问题——系统弹出提示框&am…...

云电脑使用教程标准版

云电脑&#xff0c;也称为云桌面&#xff0c;是一种通过互联网连接远程服务器&#xff0c;使用虚拟桌面环境来执行计算任务的技术。川翔云电脑通过创建软件镜像&#xff0c;让用户能够快速启动并使用预配置的软件和资料&#xff0c;提供高效且经济的云服务。相较于公有云服务&a…...

浏览器服务端文件下载控制(安全阻止、文件浏览器打开还是下载行为控制)

文章目录 简介Chrome已阻止不安全内容下载PDF直接打开txt、xml、js文件被自动打开了而不是下载阿里OSS设置response header阿里OSS修改metadata 简介 随着浏览器的发展&#xff0c;有很多安全方面的限制&#xff0c;对我们的文件下载行为产生了很大的影响。 在JavaScript下载…...

机器学习——量子机器学习

量子机器学习: 未来的机器学习方法 量子计算和机器学习的结合为计算科学带来了前所未有的前景。量子机器学习(QML)正在迅速发展&#xff0c;目标是利用量子计算的优势来处理传统计算机无法高效解决的问题。本文将深入探讨量子机器学习的基本概念、量子计算的关键技术、具体的量…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...