在GEE中,随机森林的介绍如下图:

/***********************已分好训练样本和实验样本******************************/
print("sam1_trainingPartition:",sam1_trainingPartition);
print("sam1_testingPartition:",sam1_testingPartition);// 通过选取样本,把landcover属性赋予样本
//bands为数据集中波段组合
var trainingPartition = S1S2.select(bands).sampleRegions({collection: sam1_trainingPartition,properties: ['landcover'],scale: 10,tileScale:16
});var testingPartition = S1S2.select(bands).sampleRegions({collection: sam1_testingPartition,properties: ['landcover'],scale: 10,tileScale:16
});
//先把棵树设置成10,后面会选择最优棵树
var trainedClassifier = ee.Classifier.smileRandomForest(10).train({features: trainingPartition,classProperty: 'landcover',inputProperties: bands
});
//对数据集进行分类
var class_img = S1S2.select(bands).classify(trainedClassifier).clip(roi);

选取随机森林的棵树

//选取森林棵树
var numTrees = ee.List.sequence(5, 50, 5);
var accuracies = numTrees.map(function(t)
{ var classifier = ee.Classifier.smileRandomForest(t).train({features: trainingPartition,classProperty: 'landcover',inputProperties: bands});return testingPartition.classify(classifier).errorMatrix('landcover', 'classification').accuracy();
});
print(ui.Chart.array.values({array: ee.Array(accuracies),axis: 0,xLabels: numTrees
}));

从图中可以看到当棵树为25,准确率最高,因此,可以把 ee.Classifier.smileRandomForest(10).train里面的参数设置成25,重新运行。

随机森林特征重要性,可以导出结果进行分析

//随机森林特征重要性
var dict = trainedClassifier.explain();
print('Explain:',dict);var variable_importance = ee.Feature(null, ee.Dictionary(dict).get('importance'));
var chart =
ui.Chart.feature.byProperty(variable_importance)
.setChartType('ColumnChart')
.setOptions({title: 'Random Forest Variable Importance',
legend: {position: 'none'},
hAxis: {title: 'Bands'},
vAxis: {title: 'Importance'}
});print(chart);

hAxis: {title: ‘Bands’},
vAxis: {title: ‘Importance’}
});

print(chart);


GEE学习笔记5:随机森林相关推荐

  1. 集成学习中的随机森林

    摘要:随机森林是集成算法最前沿的代表之一.随机森林是Bagging的升级,它和Bagging的主要区别在于引入了随机特征选择. 本文分享自华为云社区<集成学习中的随机森林>,原文作者:ch ...

  2. 集成学习——BAGGING和随机森林

    集成学习--BAGGING和随机森林 集成学习--BAGGING和随机森林 1.什么是集成学习 2.怎样进行集成学习 3.Bagging方法 4.Bagging方法训练.预测过程 5.Bagging方 ...

  3. GEE学习笔记一账号注册(只需要用谷歌邮箱就能注册成功)

    小白辰某的GEE学习笔记一 gee账号注册的雷,我先踩为敬 为了申请成功我真的是看遍了知乎和csdn上所有的文章,以下随便写写我踩的雷点.本人写的小文章,统统都是纯干货,简单明了,新手必备(不吹不黑你 ...

  4. 随机森林分类算法python代码_Python机器学习笔记:随机森林算法

    随机森林算法的理论知识 随机森林是一种有监督学习算法,是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,但是它在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为&q ...

  5. GEE学习笔记一 利用GEE获取Sentinel-2 1C与2A级影像

    GEE学习笔记一 利用GEE获取Sentinel-2 1C与2A级影像 博主最近在学习利用GEE获取Sentinel-2影像时,发现有两种不同的数据集,下面记录一下利用GEE获取两种数据集的方法. S ...

  6. gee学习笔记 第三天

    gee学习笔记 第三天 文章目录 gee学习笔记 第三天 前言 一.Geometry和Feature 二.Getting image metadata 三.Using the plotting too ...

  7. gee学习笔记 第二天

    gee学习笔记 第二天 文章目录 gee学习笔记 第二天 前言 一.继续熟悉jupyter lab notebook 二.获取和找到数据 1.选定区域和设置过滤器 前言 第二天 学习如何准备水煮鱼的材 ...

  8. 【进阶版】机器学习之集成学习介绍、随机森林模型经验贴(12)

    目录 欢迎订阅本专栏,持续更新中~ 本专栏前期文章介绍! 机器学习配套资源推送 进阶版机器学习文章更新~ 点击下方下载高清版学习知识图册 集成学习 个体与集成 Boosting Bagging与Ran ...

  9. GEE学习笔记1:GEE初识

    目录 简介 Datasets FAQ Timelapse CaseStudies platform Blog Sign Up 1.简介 Google Earth Engine(GEE)是谷歌提供的对大 ...

最新文章

  1. elasticsearch 9300端口连接不上_SpringBoot2.x系列教程54--SpringBoot整合ElasticSearch方式一...
  2. C++ Primer 第10章 习题10.23
  3. kettle的基本介绍
  4. vs2015 编译时错误列表中没有错误,dll却没有生成出来
  5. java文件编码格式环境变量_Jenkins maven 构建乱码,修改file.encoding系统变量编码为UTF-8...
  6. Bootstrap 模态对话框
  7. oracle中job无法正常运行,如何排查
  8. java网络编程 - TCP/IP四层模型
  9. Java人事管理系统设计
  10. 中国石油井架行业发展前景与投资盈利预测报告2022-2027
  11. 数字图像隐写术之卡方分布
  12. 【论文阅读】UAV-Based Crop and Weed Classification for Smart Farming
  13. ORA-01034 ORACLE not available
  14. SDUT ACM 多项式求和(基于C语言)
  15. DataX Transformer 源码分析及 UDF 扩展与使用
  16. RGB565,RGB555, RGB888,RGB32转换
  17. tomcat出现“localhost拒绝了我们的请求”问题
  18. Vi下编辑和退出编辑方法
  19. Java数据结构学习——排序二叉树
  20. 复变函数与积分变换(五)学习笔记[孤立奇点,留数,零点与奇点,无穷远点的留数,留数计算的应用]

热门文章

  1. Android:获取wifi IP地址
  2. 服务器配置service文件实现jar包自启功能
  3. 归因分析笔记6:SHAP包使用及源码阅读
  4. swal() 弹出层的用法
  5. 软件开发中 前台、中台、后台英文_企业架构 | 中台是什么?
  6. web项目常见报错解决方法
  7. android将apk生成的二维码放到本地tomcatjenkin(Android 生成二维码)
  8. 1. 考研常见问题总结 从择校到复试
  9. 怎么去除PDF中的水印
  10. 转载:程序员的发展方向