功能上线 | AI Earth地球科学云平台新增机器学习类函数算子

简介: 功能上线 | AI Earth地球科学云平台新增机器学习类函数算子

机器学习类函数算子

AI Earth在用户访谈中收到了多位用户反馈,希望平台能提供机器学习相关算子能力。我们快速规划和研发,近期上线了20多类与机器学习相关的函数算子,包括常用的分类器,如随机森林、支持向量机、贝叶斯等,同时上线对分类模型精度进行评价的混淆矩阵。

/函数列表/

函数名称

函数用途

aie.Classifier.linearsvm

创建线性支持向量机分类器

aie.Classifier.decisionTree

创建决策树分类器

aie.Classifer.cart

创建CART分类器

aie.Classifer.randomForest

创建随机森林分类器

aie.Classifier.gradientTreeBoost

创建梯度提升树分类器

aie.Classifier.AdaBoost

创建自适应集成分类器

aie.Classifer.naiveBayes

创建贝叶斯分类器

aie.Classifer.train

利用样本数据对分类器进行训练

aie.Classifier.confusionMatrix

基于已经训练好的分类器,对训练样本进行再预测,获取真实结果与预测结果的混淆矩阵

aie.Image.classify

对影像进行分类

aie.FeatureCollection.classify

对FeatureCollection进行分类

aie.ConfusionMatrix

构建混淆矩阵

aie.ConfusionMatrix.accuracy

计算混淆矩阵的准确率

aie.ConfusionMatrix.consumersAccuracy

计算混淆矩阵每一类别的查全率

aie.ConfusionMatrix.fscore

计算混淆矩阵每一类别的F度量

aie.ConfusionMatrix.kappa

计算混淆矩阵的kappa系数

aie.ConfusionMatrix.producersAccuracy

计算混淆矩阵每一类别的查准率

aie.FeatureCollection.errorMatrix

基于FeatureCollection中指定的两列属性构建混淆矩阵

aie.Image.sample

从影像中获取样本点,每一个样本点将包含对应坐标点下所有波段的像元值

 

/应用案例/

平台的案例广场中提供了进行地表覆盖监督分类的应用案例,我们利用ESA地表覆盖数据作为随机采样的训练样本真值标签,对单景Sentinel-2A影像采用自适应集成分类器(aie.Classifier.adaBoost)进行地物覆盖的分类,并利用混淆矩阵进行分类精度的分析。

欢迎平台用户进行相关体验与测试。

 

附案例代码

  • 利用ESA地表覆盖数据,作为训练样本的地物真值标签。
1. 
2. # 指定研究区域
3. roi = aie.Geometry.BBox(119.8679, 29.7058, 121.0332, 30.7178)
4. 
5. # 使用ESA地表覆盖分类作为标签类别, 并将其裁剪到研究区
6. lc = aie.ImageCollection('ESA_WORLD_COVER_V100').filterBounds(roi).mosaic().clip(roi)
7. 
8. # 将ESA地表覆盖分类值重新映射到[0, 10]
9. class_values = [10, 20, 30, 40, 50, 60, 70, 80, 90, 95, 100]
10. remap_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
11. label = 'lc'
12. lc_remap = lc.remap(class_values, remap_values).rename([label])
13. 
14. # 选取一景S2A影像的地表辐射波段, 作为训练和预测示例
15. img = aie.Image('S2A_MSIL2A_20220103T024121_N0301_R089_T51RTP_20220103T050347').select('B.*')
16. 
17. # 指定获取样本的范围, 如果样本范围过大, 同时采样分辨率过高的话, 将导致sample函数运行时间过长
18. sample_roi = aie.Geometry.BBox(120.1730, 30.1086, 120.3846, 30.2862)
19. # 指定在10m分辨率下获取1000个样本点, 由于sample函数无法保证各类别样本数量均衡, 因此可自行上传训练样本
20. samples = img.addBands(lc_remap).sample(sample_roi, 10, 1000)
21. 
22. # 在训练样本中增加一列随机数, 选取80%的样本为训练样本, 选取20%的样本为验证样本
23. sample = samples.randomColumn()
24. training_sample = sample.filter(aie.Filter.lte('random', 0.8))
25. validation_sample = sample.filter(aie.Filter.gt('random', 0.8))
  •  
  • 创建分类器,并利用随机获取的样本进行训练,同时利用混淆矩阵进行精度评估。
1. 
2. # 创建自适应集成分类器,并进行训练
3. trained_classifier = aie.Classifier.adaBoost(10).train(training_sample, label, img.bandNames().getInfo())
4. 
5. # 训练集混淆矩阵包含的类别,对应class_values中的类别为[10, 30, 40, 50, 60, 70]
6. train_accuracy = trained_classifier.confusionMatrix()
7. print('Training error matrix:', train_accuracy.getInfo())
8. print('Training overall accuracy:', train_accuracy.accuracy().getInfo())
9. 
10. # 使用验证集对分类器进行评估
11. validation = validation_sample.classify(trained_classifier)
12. # 验证集混淆矩阵包含的类别,对应class_values中的类别为[10, 40, 50, 60, 70]
13. validation_accuracy = validation.errorMatrix(label, 'classification')
14. print('Validation error matrix:', validation_accuracy.getInfo())
15. print('Validation accuracy:', validation_accuracy.accuracy().getInfo())
  • 对Sentinel-2影像进行分类,并将结果可视化
1. 
2. # 使用训练好的分类器对影像进行分类
3. img_classified = img.classify(trained_classifier)
4. 
5. color = ['#006400' ,'#ffbb22', '#ffff4c', '#f096ff', '#fa0000', '#b4b4b4',
6. '#f0f0f0', '#0064c8', '#0096a0', '#00cf75', '#fae6a0']
7. map = aie.Map(
8.     center=roi.getCenter(),
9.     height=800,
10.     zoom=9
11. )
12. # 待分类影像真彩色图层
13. map.addLayer(
14.     img,
15.     {
16. 'bands': ['B4', 'B3', 'B2'],
17. 'min': 200,
18. 'max': 1800
19.     },
20. 'True Color (432)',
21.     bounds=roi.getBounds()
22. )
23. # 自适应集成分类图层
24. map.addLayer(
25.     img_classified,
26.     {
27. 'bands': 'classification',
28. 'min': 0,
29. 'max': 10,
30. 'palette': color
31.     },
32. 'aie_classification',
33.     bounds=roi.getBounds()
34. )
35. map


相关文章
|
13天前
|
编解码 人工智能 监控
VISION XL:支持四倍超分辨率的 AI 视频修复处理工具,提供去除模糊、修复缺失等功能
VISION XL是一款基于潜在扩散模型的高效视频修复和超分辨率工具,能够修复视频缺失部分、去除模糊,并支持四倍超分辨率。该工具优化了处理效率,适合快速处理视频的应用场景。
60 6
VISION XL:支持四倍超分辨率的 AI 视频修复处理工具,提供去除模糊、修复缺失等功能
|
4月前
|
存储 人工智能
|
25天前
|
机器学习/深度学习 人工智能 语音技术
Fugatto:英伟达推出的多功能AI音频生成模型
Fugatto是由英伟达推出的多功能AI音频生成模型,能够根据文本提示生成音频或视频,并修改现有音频文件。该模型基于增强型的Transformer模型,支持复杂的组合指令,具有强大的音频生成与转换能力,广泛应用于音乐创作、声音设计、语音合成等领域。
65 1
Fugatto:英伟达推出的多功能AI音频生成模型
|
16天前
|
缓存 监控 异构计算
PAI-Rec相关的各种功能
PAI-Rec相关、EasyRec的Processor优化 和使用
31 2
|
27天前
|
人工智能 JavaScript 数据可视化
深入探索 Flux Tools 在 AI 图像创作中的强大功能
Flux Tools 是由 Black Forest Labs 开发的一套先进 AI 图像编辑工具,集成了修补、扩展、深度映射和边缘检测等功能,为用户提供高精度的图像控制能力,广泛应用于照片编辑、数字艺术创作和设计工作等领域,极大提升了创作效率与自由度。
|
2月前
|
人工智能 自动驾驶 搜索推荐
【通义】AI视界|苹果AI本周正式上线,将引入四大功能
本文由【通义】自动生成,涵盖苹果AI上线、特斯拉被华尔街重新评估、谷歌开发控制计算机的AI、Meta与路透社合作及Waymo获56亿美元融资等科技动态。点击链接或扫描二维码获取更多信息。
|
2月前
|
机器学习/深度学习 存储 运维
探索未来:结合机器学习功能拓展Elasticsearch应用场景
【10月更文挑战第8天】随着数据量的爆炸性增长,高效的数据存储、检索和分析变得越来越重要。Elasticsearch 作为一个分布式的搜索和分析引擎,以其强大的全文搜索能力、实时分析能力和可扩展性而闻名。近年来,随着机器学习技术的发展,将机器学习集成到 Elasticsearch 中成为了一种新的趋势,这不仅增强了 Elasticsearch 的数据分析能力,还开拓了一系列新的应用场景。
72 7
|
2月前
|
机器学习/深度学习 算法 知识图谱
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
|
2月前
|
人工智能 IDE 开发工具
给IntelliJ IDEA添加AI功能
这篇文章讲解了如何在IntelliJ IDEA中安装和使用阿里云开发的通义灵码插件,以增强IDE的人工智能辅助编程功能。
550 0
给IntelliJ IDEA添加AI功能