遥感影像专家知识的决策树分类文档格式.docx
《遥感影像专家知识的决策树分类文档格式.docx》由会员分享,可在线阅读,更多相关《遥感影像专家知识的决策树分类文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
4.分类后处理
这步骤与监视/非监视分类的分类后处理类似。
知识〔规那么〕定义
分类规那么获取的途径比拟灵敏,如从经历中获得,坡度小于20度,就认为是缓坡,等等。
也可以从样本中利用算法来获取,这里要讲述的就是算法。
利用算法获取规那么可分为以下几个步骤:
〔1〕多元文件的的构建:
遥感数据经过几何校正、辐射校正处理后,进展波段运算,得到一些植被指数,连同影像一起输入空间数据库;
其他空间数据经过矢量化、格式转换、地理配准,组成一个或多个多波段文件。
〔2〕提取样本,构建样本库:
在遥感图像处理软件或者GIS软件支持下,选取适宜的图层,采用计算机自动选点、人工解译影像选点等方法采集样本。
〔3〕分类规那么挖掘与评价:
在样本库的根底上采用适当的数据挖掘方法挖掘分类规那么,后基于评价样本集对分类规那么进展评价,并对分类规那么做出适当的调整和挑选。
这里就是算法。
算法的根本思路基于信息熵来“修枝剪叶〞,根本思路如下:
从树的根节点处的所有训练样本D0开场,离散化连续条件属性。
计算增益比率,取GainRatio〔C0〕的最大值作为划分点V0,将样本分为两个部分D11和D12。
对属性C0的每一个值产生一个分支,分支属性值的相应样本子集被移到新生成的子节点上,假如得到的样本都属于同一个类,那么直接得到叶子结点。
相应地将此方法应用于每个子节点上,直到节点的所有样本都分区到某个类中。
到达决策树的叶节点的每条途径表示一条分类规那么,利用叶列表及指向父结点的指针就可以生成规那么表。
图2规那么挖掘根本思路
算法描绘如下:
算法:
从空间数据集〔多波段文件〕中挖掘分类规那么
输入:
训练样本
输出:
分类规那么表
方法:
一、读取数据集名字
二、读取所有的训练样本
A、读取属性信息C、原始类E、样本值A,并将样本划分为训练样本〔2/3〕和评价样本〔1/3〕。
B、属性信息C可以是连续〔DISCRETE〕或离散〔CONTINUOUS〕的,分别将属性注上这两种标记;
假设属性是DISCERTE,读取其可能获得值,并都存储在一个列表中;
每一个属性都有一个标记,一个给定的属性编号及初始化的取值列表均存储于一个属性的数据构造中,并将数据构造存储在一个哈希表中。
C、原始类E当作一个附加属性信息储存在属性列表中。
D、以增量方式读取每一个样本A,将所有的样本储存在一个表中,每一行代表一个样本。
三、利用数据集构建树
A、离散化连续条件属性CDISCRETE,获得的分割点集T〔t1,t2……〕作为条件属性C的新的取值。
B、分别计算所有条件属性的增益比率GainRatio〔C〕,取增益比率值最大的条件属性作为树的划分节点,其值或范围作为划分值V〔v1,v2……〕来生成树的分枝。
C、判断该层与每一个等价子集的原始类类别是否一致。
假设一致,生成叶子结点。
否那么,继续计算增益比率GainRatio〔C〕和选择条件属性C,得到树的节点和划分值V,直至所有的样本已分类完毕。
四、测试生成树
将测试样本C′带入树中,当某一测试样本的分类预测错误时,记录分类错误的计数,并将测试样本添加到训练样本中,转向步骤三,重新构建树。
否那么,输出分类树
五、抽取分类规那么
到达树的叶节点的每条途径表示一条分类规那么从树中抽取分类规那么,打印规那么和分类的详细信息
网上有源代码下载,vc和c++版本都能获得。
DecisionTree的使用
一、规那么获取
选取LandsatTM5影像和这个地区对应的DEM数据,影像和DEM经过了准确配准。
规那么如下描绘:
Class1〔朝北缓坡植被〕:
NDVI>
0.3,slope<
20,aspect<
90andaspect>
270
Class2〔非朝北缓坡植被〕:
20,90<
=aspect<
=270
Class3〔陡坡植被〕:
0.3,slope>
=20,
Class4〔水体〕:
NDVI<
=0.3,0<
b4<
20
Class5〔裸地〕:
=0.3,b4>
=20
Class6〔无数据区,背景〕:
NDVI<
=0.3,b4=0
也可以按照二叉树描绘方式:
第一层,将影像分为两类,NDVI大于,NDVI小于或等于;
第二层,NDVI高的,分为坡度大于或等于20度和坡度小于20度。
以此往下划分。
二、输入决策树规那么
翻开主菜单->
classification->
DecisionTree->
BuildNewDecisionTree,如图3所示,默认显示了一个节点。
图3DecisionTree界面
首先我们按照NDVI的大小划分第一个节点,单击Node1,跳出图4对话框,Name为,在Expression中填写:
{ndvi}gt。
图4添加规那么表达式
点击OK后,会提示你给{ndvi}指定一个数据源,如图5所示,点击第一列中的变量,在对话框中选择相应的数据源,这样就完成第一层节点规那么输入。
图
图5指定数据源
Expression中的表达式是有变量和运算符〔包括数学函数〕组成,支持的运算符如表1所示
表达式
部分可用函数
根本运算符
+、-、*、/
三角函数
正弦Sin(x)、余弦cos(x)、正切tan(x)
反正弦Asin(x)、反余弦acos(x)、反正切atan(x)
双曲线正弦Sinh(x)、双曲线余弦cosh(x)、双曲线正切tanh(x)
关系/逻辑
小于LT、小于等于LE、等于EQ、不等于NE、大于等于GE、大于GT
and、or、not、XOR
最大值〔>
〕、最小值(<
)
其他符号
指数〔^〕、自然指数exp
自然对数对数alog(x)
以10为底的对数alog10(x)
整形取整——round(x)、ceil(x)
平方根〔sqrt〕、绝对值〔adb〕
表1运算符
ENVI决策树分类器中的变量是指一个波段的数据或作用于数据的一个特定函数。
变量名必须包含在大括号中,即{变量名};
或者命名为bx,x代表数据,比方哪一个波段。
假如变量被赋值为多波段文件,变量名必须包含一个写在方括号中的下标,表示波段数,比方{pc[2]}表示主成分分析的第一主成分。
支持特定变量名如表2,也可以通过IDL自行编写函数。
变量
作用
slope
计算坡度
aspect
计算坡向
ndvi
计算归一化植被指数
Tascap[n]
穗帽变换,n表示获取的是哪一分量。
pc[n]
主成分分析,n表示获取的是哪一分量。
lpc
[n]
部分主成分分析,n表示获取的是哪一分量。
mnf[n]
最小噪声变换,n表示获取的是哪一分量。
Lmnf[n]
部分最小噪声变换,n表示获取的是哪一分量。
Stdev
波段n的标准差
lStdev
波段n的部分标准差
Mean
波段n的平均值
lMean
波段n的部分平均值
Min[n]、max
波段n的最大、最小值
lMin[n]、lmax
波段n的部分最大、最小值
表2变量表达式
第一层节点根据NDVI的值划分为植被和非植被,假如不需要进一步分类的话,这个影像就会被分成两类:
class0和class1。
对NDVI大于,也就是class1,根据坡度划分成缓坡植被和陡坡植被。
在class1图标上右键,选择AddChildren。
单击节点标识符,翻开节点属性窗口,Name为Slope<
20,在Expression中填写:
{Slope}lt20。
同样的方法,将所有规那么输入,末节点图标右键EditProperties,可以设置分类结果的名称和颜色,最后结果如图6所示。
图6规那么输入结果图
三、执行决策树
选择Options->
Execute,执行决策树,跳出图7所示对话框,选择输出结果的投影参数、重采样方法、空间裁剪范围〔如需要〕、输出途径,点击OK之后,得到如图8所示结果。
在决策树运行过程中,会以不同颜色标示运行的过程。
图7输出结果
图8决策树运行结果
回到决策树窗口,在工作空白处点击右键,选择ZoomIn,可以看到每一个节点或者类别有相应的统计结果〔以像素和百分比表示〕。
假如修改了某一节点或者类别的属性,可以左键单击节点或者末端类别图标,选择Execute,重新运行你修改部分的决策树。
图9运行决策树后的效果
分类后处理和其他计算机分类类似的过程。