功能上线 | 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


相关文章
|
10天前
|
机器学习/深度学习 人工智能 算法
AI基础科普:机器学习入门与实践
本文全面介绍了机器学习及其在信用评分预测中的应用。首先概览了机器学习作为人工智能核心领域的重要性及其实现数字化转型的作用。接着定义了机器学习,并区分了监督、无监督和强化学习等主要类型。随后,通过一个具体的场景——利用Python与scikit-learn库构建逻辑回归模型来预测客户的信用等级,详细阐述了从数据准备、模型训练到评估的全过程。此外,还介绍了如何借助阿里云机器学习平台PAI进行云上的模型训练和部署。最后,通过总结逻辑回归算法和其在金融领域的应用,鼓励读者深入学习并实践AI技术,以适应快速发展的科技趋势。
52 2
AI基础科普:机器学习入门与实践
|
4天前
|
人工智能 机器人
LLM活动 | 与 UP 主“老陈打码”一起使用 PAI×LLaMA Factory 搭建 AI 诸葛亮
LLaMA Factory是一款开源低代码大模型微调框架,集成了业界最广泛使用的微调技术,支持通过Web UI界面零代码微调大模型,目前已经成为开源社区内最受欢迎的微调框架,GitHub星标超过2万。本次活动基于Meta AI开源的Llama-3 8B模型,使用PAI平台及LLaMA Factory训练框架完成模型的中文化与角色扮演微调和评估,搭建专属“ AI 诸葛亮”问答机器人,7×24小时为你出谋划策!
|
3天前
|
机器学习/深度学习 人工智能 算法
"揭秘机器学习背后的魔法:函数的力量如何塑造智能预测的奇迹之旅"
【8月更文挑战第16天】机器学习是人工智能的关键分支,通过算法和统计模型使计算机能从数据中学习并预测。本文介绍核心函数的应用及实现:线性回归预测连续值;逻辑回归处理二分类问题;决策树依据简单规则分类或预测;支持向量机寻找最优边界分类。使用Python的`scikit-learn`库实现这些函数,帮助理解机器学习算法的工作原理及其应用场景。
11 1
|
5天前
|
机器学习/深度学习 人工智能 算法
揭秘AI编程:从零开始的机器学习之旅
本文将带你走进人工智能的奇妙世界,一起探索机器学习的奥秘。我们将从最基础的概念入手,逐步深入到实际应用中,让你在轻松愉快的阅读过程中,对AI编程有一个全面而深刻的理解。无论你是编程新手,还是有一定基础的开发者,都能在这篇文章中找到你需要的信息和启示。让我们一起开启这场充满智慧和乐趣的旅程吧!
17 1
|
10天前
|
机器学习/深度学习 人工智能 算法
AI与创造力的碰撞:探索机器学习在艺术创作中的角色
【8月更文挑战第9天】当科技遇见艺术,会擦出怎样的火花?本文将带您一探究竟,深入了解人工智能尤其是机器学习如何在现代和当代艺术创作中扮演着日益重要的角色。我们将通过具体实例探讨AI如何助力艺术家突破创意限制,以及这一技术趋势对艺术领域未来的可能影响。
|
12天前
|
机器学习/深度学习 人工智能 算法
探索自动化测试的未来:AI与机器学习的融合
在软件测试领域,自动化一直是提高效率和准确性的关键。随着人工智能(AI)和机器学习(ML)技术的飞速发展,它们正在逐步改变自动化测试的面貌。本文将探讨AI和ML如何增强自动化测试的能力,提高其智能性、预测性和适应性,并分析这些技术为测试实践带来的潜在变化和挑战。
|
5天前
|
机器学习/深度学习 人工智能 算法
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
13 0
|
6天前
|
机器学习/深度学习 人工智能 编解码
【机器学习】阿里Qwen-VL:基于FastAPI私有化部署你的第一个AI多模态大模型
【机器学习】阿里Qwen-VL:基于FastAPI私有化部署你的第一个AI多模态大模型
23 0
|
6天前
|
机器学习/深度学习 人工智能 Linux
【机器学习】Dify:AI智能体开发平台版本升级
【机器学习】Dify:AI智能体开发平台版本升级
30 0
|
6天前
|
机器学习/深度学习 人工智能 算法
【机器学习】基于YOLOv10实现你的第一个视觉AI大模型
【机器学习】基于YOLOv10实现你的第一个视觉AI大模型
28 0

热门文章

最新文章