功能上线 | 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月前
|
人工智能 小程序 Java
电子班牌管理系统源代码,基于AI人脸识别技术的智能电子班牌云平台解决方案
电子班牌管理系统源码,基于AI人脸识别的智慧校园云平台,支持SaaS架构,涵盖管理端、小程序与安卓班牌端。集成考勤、课表、通知、门禁等功能,提供多模式展示与教务联动,助力校园智能化管理。
439 0
|
10月前
|
传感器 人工智能 数据可视化
AI 驱动的 AR眼镜巡检技术方案:让工业缺陷识别更精准高效|阿法龙XR云平台​
针对电力、化工、制造等高风险场景,传统人工巡检效率低、漏检率高。我们推出AI+AR智能巡检方案,集成高清视觉与多传感器数据,采用轻量化YOLOv8-Nano和ResNet50模型实现缺陷实时检测与分级,结合ORB-SLAM3空间定位,在AR眼镜中精准叠加缺陷标注,识别准确率超95%,效率提升50%以上,助力巡检智能化、可视化、可追溯。
|
机器学习/深度学习
【机器学习】如何判断函数凸或非凸?(面试回答)
文章介绍了如何判断函数是凸函数还是非凸函数,包括凸函数的定义、几何意义、判定方法(一元函数通过二阶导数判断,多元函数通过Hessian矩阵的正定性判断),以及凸优化的概念和一些经典的凸优化问题。
1793 1
【机器学习】如何判断函数凸或非凸?(面试回答)
|
机器学习/深度学习 算法 知识图谱
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
|
机器学习/深度学习 人工智能 算法
"揭秘机器学习背后的魔法:函数的力量如何塑造智能预测的奇迹之旅"
【8月更文挑战第16天】机器学习是人工智能的关键分支,通过算法和统计模型使计算机能从数据中学习并预测。本文介绍核心函数的应用及实现:线性回归预测连续值;逻辑回归处理二分类问题;决策树依据简单规则分类或预测;支持向量机寻找最优边界分类。使用Python的`scikit-learn`库实现这些函数,帮助理解机器学习算法的工作原理及其应用场景。
379 1
|
机器学习/深度学习 算法 PyTorch
【机器学习】揭开激活函数的神秘面纱
【机器学习】揭开激活函数的神秘面纱
|
机器学习/深度学习 人工智能 算法
人工智能平台PAI产品使用合集之在执行shade打包后遇到“类找不到”的错误,是什么原因
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
机器学习/深度学习 人工智能 算法
【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
536 3
|
机器学习/深度学习 数据采集 数据可视化
机器学习 —— 分类预测与集成学习(上)
机器学习 —— 分类预测与集成学习
388 2
|
人工智能 监控 数据可视化
智慧工地管理云平台可视化AI大数据建造工地源码
数字孪生可视化大屏,一张图掌握项目整体情况;
488 3