2009,45(29)
1 前言
农用地定级是根据地方土地管理工作的需要,选择影响土
地质量的自然因素和社会经济因素,对行政区内的农用地进行
质量综合评定。传统的农用地定级方法主要有因素法、修正法
和样地法[1]。对于土地信息,各种资料可能会出现不完整的情
况,在处理缺失和错误数据方面,传统的定级方法不能很好地
解决问题。此外,传统的定级方法多依赖于经验知识,不具备自
学习能力,难以处理定性描述变量。
决策树是数据挖掘中广泛使用的分类方法之一,目前已在
遥感影像信息提取、灾害天气预测以及环境变量相关性研究等
方面得到了广泛的应用[2-4]。决策树分析方法对于传统的定级方
法所存在的上述问题都有相应的处理策略,并且农用地定级可
以看成是对农用地质量产生影响的各类因素因子量化后混合
空间数据的分类预测问题,其分类预测结果就是农用地级别划
分结果,所以尝试地将决策树分类方法应用于农用地定级,构
建基于 MATLAB的农用地定级决策树模型,以求克服传统定
级评价方法的缺陷。
2 决策树算法
决策树算法是以实例为基础的归纳学习算法,从一组无次
序、无规则的事例中推理出树表示形式的分类规则,其擅长的
数据挖掘任务是混合数据的分类预测问题[5]。它包括两个步骤:
第一步是利用训练样本集建立决策树模型,包括建树和剪枝。
这是一个从数据中获取知识,进行机器学习的过程。第二步是
利用建好的决策树对新数据进行分类和预测。
早期的决策树算法是 CLS学习算法和 CART算法,其中
基金项目:国家自然科学基金(the National Natural Science Foundation of China under Grant );国家社会科学基金资助项目(the
National Social Science Foundation of China under Grant )。
作者简介:赵璐(1985-),女,博士生,主要从事土地评价与规划、空间数据挖掘和 GIS研究;郑新奇(1963-),男,教授,博士生导师,主要从事 GIS
开发与应用、土地评价与规划、空间数据挖掘、地理计算等研究;闫弘文(1966-),男,副教授,主要从事土地管理、房地产经济等研究。
收稿日期:2008-06-06 修回日期:2008-08-01
农用地定级决策树模型构建与应用研究
赵 璐 1,郑新奇 1,闫弘文 2,郭正鑫 3
ZHAO Lu1,ZHENG Xin-qi1,YAN Hong-wen2,GUO Zheng-xin3
1.中国地质大学(北京)土地科学技术学院,北京 100083
2.山东师范大学 人口·资源与环境学院,济南 250014
3.山东省国土测绘院,济南 250013
of Land Science and Technology,China University of Geosciences,Beijing 100083,China
of Population,Resources and Environment,Shandong Normal University,Jinan 250014,China
Institute of Land Surveying & Mapping,Jinan 250013,China
E-mail:zhaolu1985cn@
ZHAO Lu,ZHENG Xin-qi,YAN Hong-wen,et and application of agricultural land grading model based
on MATLAB and decision Engineering and Applications,2009,45(29):241-244.
Abstract:Aiming at the defects of traditional agricultural land grading,this paper discusses idea and technical route of agricul-
tural land grading on the application of decision tree method,and constructs an agricultural land classification model based on
MATLAB and decision tree village of Pingyin county is used for the indicators are selected
as test land-level on support of this model is predicted,and the rules are expressed by way of quantitative
results show that,agricultural land grading based on decision tree doesn’t rely on empirical know-
ledge is easy to be understood,and the higher rate of accuracy will be able to meet the requirements of evaluation.
Key words:decision tree;agricultural land grading;visualization;MATLAB
摘 要:针对传统农用地定级的缺陷,探讨了应用决策树方法进行农用地定级评价的研究思路和技术路线,构建了基于 MATLAB
和决策树 算法的农用地定级模型,并以平阴县栾湾乡为试验区,选取 7个指标作为测试属性,运用模型预测农用地级别,并
以定量规则的方式表达所获取的知识。结果表明,基于决策树的农用地定级不依赖经验知识,其知识易于理解,且具有较高的准确
率,能够满足评价的要求。
关键词:决策树;农用地定级;可视化;MATLAB
DOI: 文章编号:1002-8331(2009)29-0241-04 文献标识码:A 中图分类号:TP311
Computer Engineering and Applications计算机工程与应用 241
2009,45(29) Computer Engineering and Applications计算机工程与应用
数据库连接
数据预处理
定级因素作用分值量化
影响因素分析选取
训练样本抽取
农用地分等定级资料
通过训练生成基本决策树
规则库
GIS图形数据库农用地定级数据库
决策树修剪改良
传统农用地定级方法调整 结果可视化输出
决策树分析
图 1 基于决策树的农用地定级技术路线
图 2 农用地定级决策树模型主界面
最有影响的是 Quinlan 提出的 ID3 算法 [6],之后又提出了 ID3
算法的改进版本 算法[7]。算法引入了新的方法和功能,
如分支指标采用信息增益比例,可以合并具有连续属性的值和
处理缺少属性值的训练样本,使用 k次迭代交叉验证评估模型
的优劣等[8-9]。
鉴于 算法的优势,利用其构建农用地定级决策树模
型。算法建立决策树模型的主要思想[10]是:首先对每一个
测试属性计算其信息增益率,然后选取信息增益比率最大的属
性作为根节点,并按其值划分数据集合,如果该属性只有一个
值则停止划分。对划分的每个子数据集递归执行上述操作。
3 农用地定级决策树模型的构建
模型功能设计
根据农用地定级的流程和特点,基于决策树的农用地定级
技术路线见图 1。首先根据所获得的农用地分等定级资料选取
恰当的影响因素构建指标体系,然后对其进行量化。利用训练
样本集构建基本决策树,然后根据需要进行裁剪,得到最佳决
策树模型。利用测试样本对模型进行评价,满足要求后进行模
型的应用,并将结果写入农用地定级数据库中,利用 GIS技术
对定级结果进行可视化输出显示。
因此,农用地定级决策树模型应具有以下功能:
(1)可方便地与数据库连接,快速读入农用地定级相关数据;
(2)实现原始数据的预处理,如数据缺失、无穷大值处理以
及消除量纲等操作;
(3)模型可自动对决策树进行剪枝处理,得到能够体现当
地农用地定级规则的最佳树;
(4)模型能够以可视化的方式提供分类预测结果和决策树
模型。
模型界面设计
模型界面包括了用户与计算机系统进行交互的所有工具。
Horward等总结了五种交互手段,即命令行、自然语言、表单输
入、菜单和直接交互等。根据当前计算机软件的主要界面特
征[11],在 MATLAB图形用户界面开发环境(Graphical User In-
terface Development Environment,GUIDE)[12-14]下,模型提供了
表单输入、菜单和直接交互等几种交互形式。
模型主界面见图 2。模型集成了数据库管理、数据预处理、
决策树构建和剪枝、分类预测以及可视化表达和评价等功能,
主界面主要包括菜单区、工具栏区、按钮区、用户输入区和图表
显示区。部分源码如下:
function fig=figuresetup(doclass)
fig=figure(′IntegerHandle′,′off′,′NumberTitle′,′off′,...′Units′,′points′,
′PaperPositionMode′,′auto′,...′Tag′,′decisiontree′);
ax=axes(′Parent′,fig,′UserData′,cell(1,4),′XLim′,0:1,′YLim′,0:1);
pt=printtemplate;
=0;
set(fig,′PrintTemplate′,pt)
figtitle=′农用地分等决策树模型′;…
hframe=uicontrol(fig,′Units′,′points′,′Style′,′frame′,...
′Position′,[0 0 1 1],′Tag′,′frame′);…
set(ax,′Position′,[0 0 apos(3)tbottom]);
set(fig,′Toolbar′,′figure′,′Name′,figtitle,′HandleVisibility′,′call-
back′);…
模型实现
模型通过 ODBC与数据库建立连接,并通过数据预处理模
块对其中一些数据进行预处理。然后,将处理好的数据在相关
视图中显示,同时导入决策树构建模块进行数据学习,结果为
剪枝前的决策树,以可视化的方式提供给用户,这样用户可以
进一步分析原始数据的内部特征以对模型参数等做出调整。模
型提供两种剪枝方法:一种是用户自行设置剪枝水平,直至得
到最佳树模型;另一种是由模块通过交叉验证的方法来估计树
的最佳剪枝水平,然后自动构建改良后的决策树模型。部分源
代码如下:
[Ni,M]=size(train_features);
inc_node=inc_node*M/100;
Nu=10;N=region(5);
mx=ones(N,1)*linspace(region(1),region(2),N);
my=linspace(region(3),region(4),N)′*ones(1,N);
flatxy=[mx(:),my(:)]′;
[f,t,UW,m]=PCA(train_features,train_targets,Ni,region);…
tree=make_tree(train_features,train_targets,inc_node,discrete_dim,
max(discrete_dim),0);
targets=use_tree(flatxy,1:N^2,tree,discrete_dim,unique(train_targets));
D=reshape(targets,N,N);…
4 农用地定级决策树模型的应用
以平阴县栾湾乡农用地定级为研究对象,所用数据来自于
2002年济南市平阴县农用地分等定级估价数据库。平阴县农
用地分等定级估价为国土资源部试点项目,农用地评价单元的
划分即采用“三图叠置法”———1:10 000土地利用现状图与坡
度分级图、土壤图,将形成的封闭图斑作为初步划分土地评价
242
2009,45(29)
图 5 栾湾乡农用地定级决策树模型(剪枝后)
农用地
等指数
<200
200~350
350~600
600~900
>900
区位
条件
<10
10~20
20~30
30~40
>40
耕作便
利条件
<50
50~60
60~70
>70
土地利
用强度
<20
20~30
30~40
40~50
>50
土地利
用结构
<10
10~20
20~30
30~45
>45
土地利用
集约度
<25
25~40
40~50
50~60
>60
土地经
营效益
<15
15~30
30~45
45~65
>65
分级
编号
1
2
3
4
5
表 1 测试属性值分级表
图 4 数据预处理后的部分训练样本属性集训练样本单元
测试样本单元
非农用地单元
N
图 3 试验区训练样本分布图
单元,并对小于最小上图面积的图斑进行归并。栾湾乡共划分
为 2 353个评价单元。
数据准备
根据研究区农用地资源特点和数据源特点,以农用地级别
为分类属性,选取农用地等指数、区位条件、耕作便利条件、土
地利用强度、土地利用结构、土地利用集约度、土地经营效益作
为测试属性。根据规程,不同性质的定级因素需采用不同的量
化处理方法,如面状因素量化方法采用均值度法;线状因素和
点状因素常采用直线衰减或指数衰减量化方法。在以 MapBa-
和 VC++为开发语言进行二次开发的农用地分等定
级估价信息系统的支持下得到各属性的量化值。
根据空间分布均匀和样本级别分布均匀的原则,在整个试
验区内,共选取了 2 118个评价单元(90%)作为训练样本集。另
10%的评价单元作为测试集,以检验决策树模型的预测精度。
图 3为训练样本分布图。
数据预处理
根据 2002年栾湾乡农用地修正法定级结果,该乡农用地
划分为 13个级别。为了便于统计和计算,将其整理合并归为 6
个级别,以此作为决策树学习及误差检验的依据。
此外,由于所获取的属性数据多为连续型数值,过于细碎,
为了便于分析和计算,在构建数据库时将其表示为分级区段
值,见表 1。图 4为数据预处理后的部分训练样本。
决策树生成
在决策树分析主界面内输入相应的测试属性和分类属性
后,模块自动构建出栾湾乡农用地定级决策树模型。但该决策
树模型过于庞杂,对当前数据可能拟合得很好,对新数据却不
一定能准确拟合,而且某些下级分支可能较强地受到异常值和
其他因素的影响。所以,要通过树的剪枝来找到一种简单的树
结构,来避免过度拟合的问题。
系统自动所得到的栾湾乡农用地定级最佳决策树模型见
图 5,包括 22条“IF-THEN”规则,且模型提供各节点的节点类
型、节点处规则和节点统计信息。其中 IF部分包含一条路径的
全部检验,THEN部分则是最终分类结果,规则的 IF部分是相
互排斥并且完备的。
预测分类和模型评价
利用 235个测试样本检验该决策树模型对于栾湾乡农用
地级别预测的准确性和有效性,所得到的预测分类结果在模块
界面的图表显示区展示给用户,见图 6。通过与原有农用地分
等定级估价数据库进行比对,该模型的预测分类准确率为
%。此外,采用 10次迭代交叉验证法进行模型评估,所得
到决策树的平均预测分类准确率为 %。
从决策树产生的规则来看,栾湾乡农用地首选等级为Ⅰ
级,这与当地的农用地实际情况相符。涵盖样本数最大的部分
规则如下:
IF农用地等指数< and 土地利用结构< and 土地经
赵 璐,郑新奇,闫弘文,等:农用地定级决策树模型构建与应用研究 243
2009,45(29) Computer Engineering and Applications计算机工程与应用
图 6 栾湾乡农用地定级决策树分类结果
测试属性
农用地等指数
区位条件
耕作便利度
土地利用强度
土地利用结构
土地利用集约度
土地经营效益
I
1,2
1,2
1,2
4,5
1,2
1,2,3
1,2,3
II
2,3
2,3
2,3,4
1,2,3
1,2
2,3
2,3,4
III
3,4
1,2,3
1,2,4
2,3,4
2,3
4,5
3,4,5
IV
4,5
2,3,4
3,4
1,3,5
2,3,5
4,5
3,4,5
V
4,5
1,2
3,4
2,3
3,5
4,5
4,5
VI
5
1,5
4
2,5
3,5
4,5
5
表 2 I~VI农用地等级中测试属性的部分特征取值
营效益< THEN 农用地级别为Ⅰ级;
IF农用地等指数=3 and <土地利用集约度 and <
土地经营效益< THEN 农用地级别为Ⅱ级;
IF农用地等指数=3 and <土地经营效益 THEN 农用
地级别为Ⅲ级;
IF农用地等指数=4 and <土地利用结构 THEN 农用
地级别为Ⅳ级;
<农用地等指数 and 区位条件< and 土地利用强
度<4 THEN 农用地级别为Ⅴ级;
<农用地等指数 and 4<土地利用强度 and <土地
利用结构 THEN 农用地级别为Ⅵ级。
分析所得到的规则发现,农用地等指数、土地经营效益、土
地利用结构、土地利用强度和区位条件与农用地级别有较强的
联系,这与栾湾乡 2002年农用地定级指标体系各指标的权重
分配也是一致的。表 2为 I~VI农用地等级中测试属性的部分
特征取值。
5 结语
应用 MATLAB优秀的数值分析能力和可视化图形设计功
能构建了基于决策树的农用地定级模型,并通过实例验证了模
型的实用性和有效性。与传统的农用地定级相比,该模型具有
以下优点:
(1)有效避免了传统农用地定级中主观判断和经验知识的
缺陷,并且在土地信息不完整的情况下,增强了处理缺失和错
误数据方面的能力;
(2)随着土地资源数据的变更,可快速更新农用地定级评
价数据,为农用地评价提供了新的思路和方法;
(3)可视化技术的应用使农用地定级过程成为一个循环动
态、以用户为中心、互动的过程,做到了宏观与微观、纵向与横
向的结合,增强了辅助决策的能力。
鉴于模型的地图辅助视图和空间分析功能还比较薄弱,需
要在今后研究中探讨以地图作为模型中所有视图连接的中心,
以便于用户进行地图可视化空间思考和探索性数据分析。
参考文献:
[1] 中华人民共和国国土资源部.农用地定级规程[S].北京:中国标准出
版社,2003.
[2] 桂现才,彭宏,王小华.算法在保险客户流失分析中的应用[J].
计算机工程与应用,2005,41(17):197-199.
[3] Roiger R J,Geatz M W.数据挖掘教程[M].翁译农,译.北京:清华大
学出版社,2003.
[4] 陈文伟,黄金才.数据挖掘技术[M].北京:北京工业大学出版社,
2002.
[5] 贾泽露,刘耀林,张彤.空间数据挖掘技术在土地定级估价中应用[J].
地球科学与环境学报,2005,27(3):72-77.
[6] Quinlan J R.Induction of decision tree[J].Machine Learning,1986(1):
1-356.
[7] Quinlan J R .-Programs for machine learning[M] .New York:
Morgan Kaufman,1993:81-106.
[8] 谈恒贵,王文杰,李游华.数据挖掘分类算法综述[J].微型计算机与
应用,2005(2):4-9.
[9] 王晓国,黄韶坤,朱炜.应用 构造客户分类决策树的方法[J].计
算机工程,2003,29(14):89-91.
[10] 刘红岩,陈剑,陈国青.数据挖掘中的分类算法综述[J].清华大学学
报:自然科学版,2002,42(6):727-730.
[11] Johnson.GUI设计禁忌[M].王蔓,译.北京:机械工业出版社,2005.
[12] 张秋红,李玉忍.用 MATLAB制作图形用户界面[J].电脑开发与应
用,2003,16(3):10-14.
[13] 尤姗姗.MATLAB在数学 CAI课件开发中的应用[J].科技咨询导报,
2007(25):232-233.
[14] 周建辉,李伟光,叶邦彦.基于 Matlab的 GUI设计数控系统圆弧插
补仿真软件[J].机械与电子,2007(9):45-47.
[4] Samet component labeling using quadtrees[J].J ACM,
1981,28(3):487-501.
[5] Stefano D,Bulgarelli simple and efficient connected components
labeling algorithm[C]//International Conference on Image Analysis
and Processing,1999:27-29.
[6] Gonzales R,Woods image processing[M].[.]:Addison Wes-
ley,1992:42-45.
[7] Klette R,Zamperoni book of image processing operators[M].
New York:John Wiley & Sons,1996:314-319.
[8] 张桂林.基于跑长码的连通区域标记算法[J].华中理工大学学报,
1994,22(5).
[9] Castleman K R.数字图像处理[M].朱志刚,译.北京:电子工业出版
社,2006.
(上接 232页)
244