利用机器学习识别细碎图斑实战(2):技术路线
本节主要讲利用机器学习做细碎图斑识别的技术路线,我们以后将按照这个技术路线完成整个过程。
首先看看整个技术路线图:
整个流程总共分成七个步骤,这七个步骤也是项目分析类任务的标准流程,下面我们简单来解释一下七个步骤的内容。
首先,作为任何一个项目,最重要的当然是对项目需求的理解,正所谓的“名不正则言不顺,言不顺则事不成”,所以第一件事就是要理解咋们准备干嘛。
在数据分析类的项目中,以机器学习一类的项目最为繁琐,因为机器学习的项目里面,对于数据的特征选择和模型的训练,都非常的耗费时间,如果不能很好的理解任务,不能很好的限定项目的边界,随意的去试错,会带来很严重的成本开销,这一点是无法忍受的。
我们对这个项目的理解,分为如下内容:
1、需要做些什么事情?
咱们这个项目,主要是为了在一系列地类图斑里面,去识别出一些特殊的图斑,包括了细碎、形状怪异、严重不规则的、可以省略掉的等(用客户粑粑的话来说,就是去掉一切“不顺眼”的图斑)。
2、怎么样才能算成功了?如何定义成功的标准。
只要把大部分“不顺眼”的图斑都挑出来,就算成功了。
(题外话:仅仅需要我们把那些不顺眼的图斑给标识出来,不需要删除掉,也不需要进行融合,只需要识别出来,之后怎么处理,是后面要做的事情)
3、目前有些什么有利和无利的条件,如何来应对?
当然,首先肯定是要有数据,给了一系列的数据(几十万个地类图斑)。
其次,我们选定了技术手段,采用机器学习的方式,利用基于随机森林的分类算法(当然,以后也可也尝试用其他的分类算法),识别哪些是“不顺眼”的,哪些是“顺眼”的。
问题是,这些数据里面,那些图斑属于“不顺眼”的图斑,在具体看见之前,不知道,没有指标,没有阈值。
4、结果怎么表达?
把识别出来的图斑进行信息统计,然后做可视化出来就可以了。
5、步骤和里程碑分别是什么?
整个项目分成7个阶段,其中设计实际技术实现一共有六个阶段,每个阶段的内容如下:
1、数据处理阶段
获取、清洗、理解数据。数据是客户提供的,以及完成了地类图斑建库的数据,所以清洗就不用了,但是我们还需要把数据处理为程序可以识别的数据,作为空间数据,最简单的就直接采用shapefile进行承载即可。
之后需要对数据进行简要的探索性分析,确定各种极值以及分布情况。
2、特征库构建
选定哪些特征指标,来对图斑进行表达,这是机器学习里面最重要的一个步骤,特征工程是机器学习的基础,如何进行特征库构建,也是机器学习从业者水平的一个硬性标尺。
特征库的构建,包括了特征选择、特征提取、特征量化等多个步骤,特征工程的好坏,直接决定了原始数据能够在机器学习项目中发挥多大的效能,大部分时候好的特征库对算法和性能的提升,都远大于在模型构建的投入——根据奥卡姆剃刀原理:如无必要,勿增实体,越简约越好,所以,很多时候,复杂的模型反而不如简单模型的效果更好。
3、样本库的构建
既然无法把“不顺眼”这个形容词用量化的方式进行固定,样本库就只能通过人工的方式进行分类识别。通过人工的方式,把一批“不顺眼”的图斑给挑出来,作为训练样本和验证样本。
4、模型训练
这一步就是通过算法来实现了,本来可以用ArcGIS Pro提供的随机森林分类工具来实现的,不过鉴于很多同学用不了ArcGIS Pro,所以选择更普世的工具:Python 的sklearn包来实现分类模型的训练和验证。
5、模型的优化
对模型进行反复迭代,并且统计每次迭代的新模型的情况,验证模型的有效性,通过观察误差样本,分析误差产生的原因(是参数的问题还是算法选择的问题,是特征的问题还是数据本身的问题 …)来对模型进行调整和优化。
在这一步的时候,可以尝试使用真实数据(而非挑选出来的样本)进行尝试了,并且人工验证模型性能,并且适量的添删样本库里面的样本信息,并且重新训练模型。
6、执行模型。
执行模型,完成分类识别。
之后对结果进行自动检验(统计分析方法)和人工检验(随机抽检)。并且进行制图和可视化。
以上六个步骤,就是我们整个项目实战的详细技术步骤,后面我们将逐步展开,把每个步骤的实现方式给大家逐一讲解,以揭开机器学习这个普适性技术“神秘”的面纱。
(大家猜猜上图是哪个电影里面的场景,可以在文后留言)
待续未完。
利用机器学习识别细碎图斑实战(2):技术路线相关推荐
- 利用机器学习识别细碎图斑实战(1):前言
在做自然资源类项目的时候,因为各种原因,会产生大量的细碎图斑,这些图斑可能是外业采集的时候本身就是细碎的,也有可能是因为各种后期处理生成的(比如用村界去切割地类图斑的时候,也会生成大量的细碎图斑)如下 ...
- 利用机器学习识别细碎图斑实战(3):探索性数据分析
先对数据进行声明: 本文使用的数据已经经过了一系列脱密处理,不代表任何区域位置的真实信息,仅能用于学习和练习,提供者不对真实性负责,也不得用于任何盈利性的活动或者公开.出版等用途. 本来应该是要写数据 ...
- 利用机器学习识别验证码(从0到1)
最近喜欢先把测试结果图放前面.大家可以先看下效果. 识别速度并不是很快,代码并没有进一步优化. 本篇主要讲的是 从制作验证码开始,到我们利用机器学习识别出来结果的过程. 利用机器学习识别验证码的思路是 ...
- 大数据早报:路桥率先利用“人脸识别”技术监管医保 亚马逊与微软联合开发人工智能,打造服务大众的AI(10.19)
数据早知道,上乐投网看早报! 『数据安全』微软内部Windows漏洞数据库曾被入侵:后果可怕 作为这个星球上覆盖率最高的操作系统,Windows的一举一动都影响着大家的使用体验,对于它的安全微软也是相 ...
- 美国银行将 AI 应用于企业应收账款处理;联合国或将利用机器学习技术帮助救灾工作...
8 月 24 日消息,据外媒报道,美国银行(Bank of America)与 Fintech 创业公司 High Radius达成合作,将人工智能应用于企业应收账款处理.该应用程序专为大型.复杂的公 ...
- NLP的介绍和如何利用机器学习进行NLP以及三种NLP技术的详细介绍
文章目录 什么是NLP? 为什么要学习NLP? 深度学习 技术1:文本嵌入(Text Embeddings) 技术2:机器翻译 技术3:会话 易水寒 发表于 2018-06-10 10:26:10 本 ...
- Cardign利用人像识别技术,开启iPhone手机社交新模式
Cardign是一款刚刚推出的iOS系统下的应用软件.它是一家多伦多的创业公司开发的.这款应用的创新之处在于,它利用人像识别的方法,通过iPhone拍摄的照片检索用户的联系资料. Cardign的创始 ...
- python机器学习手写字体识别_Python 3 利用机器学习模型 进行手写体数字检测
0.引言 介绍了如何生成手写体数字的数据,提取特征,借助 sklearn 机器学习模型建模,进行识别手写体数字 1-9 模型的建立和测试. 用到的几种模型: 1. LR,Logistic Regres ...
- 用机器学习识别不断变化的股市状况—隐马尔可夫模型(HMM)股票指数预测实战
"了解不同的股市状况,改变交易策略,对股市收益有很大的影响. 弄清楚何时开始或何时止损,调整风险和资金管理技巧,都取决于股市的当前状况. ▼ 有些策略在波澜不惊的股市中表现良好,而有些策略可 ...
最新文章
- PHP开发如何实现多线程?
- Oracle DBLink的简单运用
- java取内核数_在Java中查找内核数
- 《迷人的8051单片机》---- 1.2小元器件有大智慧
- Javascript常用的设计模式详解
- php修改学生信息代码_值得收藏的CRM软件客户管理系统(包括JAVA/PHP)
- [转贴]基于HTTP的QQ协议
- 域用用户怎么允许共享_w7如何共享打印机 w7共享打印机步骤【详细介绍】
- 二元函数连续与偏导数存在的关系_《高等数学》微课视频“二元函数的全微分求积”录音...
- 管理感悟:公司内斗,肯定是闲着的斗干活的
- getch方法_如何实现getch()函数的功能
- 大数据之路之交通大数据应用总体架构设计
- 华擎主板安装linux系统,华擎B365主板安装win7详细步骤
- js定义对象时属性名是否加引号问题
- 当保险行业不再是压舱石,平安保险还保险吗?
- java七牛获取访问路径_七牛回调及回调鉴权
- MacTeX新手学习笔记
- 利用scp 在linux之间传输文件
- 扫描二维码如何实现从微信内直接跳转外部浏览器打开指定页面
- 物联网体系的系统构架和用途