李威,陳桂芬
摘要:針對吉林省長春市農(nóng)安縣2012年耕地地力調(diào)查數(shù)據(jù),使用數(shù)據(jù)挖掘中的C4.5決策樹算法(以下簡稱C4.5算法)對土壤中速效氮、速效磷和速效鉀3種主要養(yǎng)分含量進(jìn)行分析,并根據(jù)各養(yǎng)分間差異劃分管理區(qū)。結(jié)果表明,使用C4.5算法對農(nóng)安縣924、1 840、2 756組土壤速效養(yǎng)分?jǐn)?shù)據(jù)進(jìn)行分析得到的模型精度分別為95.81%、95.59%、95.13%,對測試樣本的分類精度分別為88.25%、90.50%、91.57%。使用C4.5算法對農(nóng)安縣進(jìn)行管理區(qū)劃分準(zhǔn)確度高、效率高、易于推廣,是一種指導(dǎo)農(nóng)安縣精細(xì)農(nóng)業(yè)實(shí)施的有效管理區(qū)劃分方法。
關(guān)鍵詞:C4.5算法;農(nóng)田管理區(qū)劃分;變量施肥;農(nóng)安縣
中圖分類號:TP399 文獻(xiàn)標(biāo)識碼:A 文章編號:0439-8114(2014)07-1675-03
C4.5 Decision Tree Algorithm Based Division of Farmland Management Zone in
Nongan County
LI Wei,CHEN Gui-fen
(College of Information and Technology, Jilin Agricultural University, Changchun 130118, China)
Abstract: Based on the farmland survey data of Nong'an county in 2012, C4.5 decision tree algorithm was used to analyze three soil nutrients(nitrogen, phosphorus and potassium), and divide management zone according to the difference between the nutrients. Results showed that the accuracy of the model acquired by C4.5 decision tree algorithm was 95.81%, 95.59% and 95.13% for 924, 1 840, 2 756 soil nutrient data of Nongan county. The classification accuracy of test data was 88.25%, 90.50% and 91.57%, respectively. The management partition based on C4.5 algorithm was efficient, accurate and easy to popularized, which was an effective management partition method to guide variable fertilization in precision agriculture of Nongan county.
Key words: C4.5 decision tree algorithm; management zone division; variable rate fertilization; Nongan country
土地是人類賴以生存的物質(zhì)基礎(chǔ),而耕地是土地的精華,耕地地力的高低直接影響作物的生長發(fā)育、產(chǎn)量和品質(zhì),肥沃的土地是確保農(nóng)業(yè)可持續(xù)發(fā)展的重要物質(zhì)基礎(chǔ)。傳統(tǒng)耕種中,人們通常把一定區(qū)域的土地劃分為一塊,使用整塊地土壤養(yǎng)分的均值來代表整個(gè)農(nóng)田土壤的養(yǎng)分狀況,然后系統(tǒng)分析這些數(shù)據(jù),按照單一的施肥量對整塊土地進(jìn)行均勻施肥,然而田間土壤、作物的特性都不是均一的,是隨著時(shí)間、空間變化的,使用單一的肥量配置既達(dá)不到按需施肥的要求,又有可能造成資源的浪費(fèi)和環(huán)境污染。于是,各地紛紛提出精細(xì)農(nóng)業(yè),根據(jù)田間變異來確定最合適的管理決策,目標(biāo)是在降低消耗、保護(hù)環(huán)境的前提下,獲得最佳的收成[1]。
隨著科技的不斷發(fā)展,數(shù)據(jù)挖掘技術(shù)被廣泛地應(yīng)用到農(nóng)業(yè)中,有效提高了管理水平。決策樹是數(shù)據(jù)挖掘中廣泛使用的分類方法之一,已經(jīng)在遙感影像信息提取、災(zāi)害天氣預(yù)測、環(huán)境變量相關(guān)性研究等方面得到廣泛應(yīng)用,其適合用于描述數(shù)據(jù)和處理非線性數(shù)據(jù),具有生成速度快、建立樹形結(jié)構(gòu)直觀性強(qiáng)、易于分類等優(yōu)點(diǎn)[2],目前典型的算法有ID3、C4.5、IBLE等方法。本研究根據(jù)農(nóng)安縣土壤屬性的多樣性和差異性,利用數(shù)據(jù)挖掘中C4.5算法,對研究區(qū)域數(shù)據(jù)的速效氮、速效磷和速效鉀3種主要養(yǎng)分含量進(jìn)行了管理區(qū)分區(qū)研究,并對試驗(yàn)結(jié)果進(jìn)行分析比較,以期為農(nóng)田管理區(qū)的劃分提供參考[3]。
1 研究區(qū)概況
農(nóng)安縣隸屬吉林省長春市,位于松遼平原腹地,東經(jīng)124°31′—125°45′,北緯43°55′—44°55′。東臨德惠市,南接省城長春市,西與公主嶺市和長嶺縣為鄰,北與松原市接壤。年均氣溫4.7 ℃,年無霜期145 d, 年降水量507.7 mm,年有效積溫2 800 ℃。地勢平坦,四季分明,屬中溫帶大陸性氣候。農(nóng)安縣土地總面積527 460 hm2,其中耕地321 220 hm2,占土地總面積的60.90%;圖1為2012年測得的農(nóng)安縣耕地地力等級圖。
2 C4.5算法
1986年Quinlan提出了最早的決策樹算法ID3,ID3采用信息增益來選擇測試屬性,使用信息增益最大的屬性劃分訓(xùn)練樣本。由于ID3算法存在只能處理離散型描述數(shù)據(jù)和分類結(jié)果偏向取值個(gè)數(shù)多屬性的問題,1993年Quinlan提出了C4.5算法,C4.5算法以ID3算法為基礎(chǔ),使用信息增益率代替信息增益來選擇分類屬性,算法既支持離散屬性又支持連續(xù)屬性,與此同時(shí)還對決策樹進(jìn)行必要的減枝[4]。C4.5算法的核心思想是利用信息熵原理,選擇信息增益率最大的屬性作為分類屬性,遞歸地構(gòu)造決策樹的分枝,完成決策樹的構(gòu)造。
假設(shè)D是一個(gè)包含了d個(gè)數(shù)據(jù)樣本的集合,且其對應(yīng)于k個(gè)不同的類ci(i=1...k),所有類別構(gòu)成類別集合C,則信息熵定義為:
entropy(D)=-■p(cj)log2p(cj)(1)
其中p(cj)表示D中數(shù)據(jù)屬于cj類的概率,公式(1)反映了數(shù)據(jù)集合D中類別的不確定程度,假設(shè)F是數(shù)據(jù)集D的一個(gè)屬性,對于離散數(shù)據(jù)F可取v個(gè)不同的值,因此根據(jù)屬性F可將集合D劃分為v個(gè)不相交的子集 D1,D2,…,Dv。利用屬性F劃分當(dāng)前數(shù)據(jù)集合后類別熵為:
entropy(D,F(xiàn))=■■×entropy(D■) (2)
由公式(1)和公式(2)可知,利用屬性F對當(dāng)前分枝節(jié)點(diǎn)進(jìn)行相應(yīng)樣本集合劃分所獲得的信息增益為:
gain(D,F(xiàn))=entropy(D)-entropy(D,F(xiàn)) (3)
ID3算法使用公式(3)為每個(gè)屬性計(jì)算信息增益,選擇信息增益最大的屬性作為決策樹的下一個(gè)節(jié)點(diǎn),因?yàn)樾畔⒃鲆嫫蜻x擇值較多的屬性,在C4.5算法中使用信息增益率選擇分類屬性,信息增益率定義為:
gainRatio(D,F(xiàn))=■ (4)
以上是C4.5算法對離散數(shù)據(jù)進(jìn)行分類的原理[5,6],對于連續(xù)性數(shù)據(jù),算法先將其轉(zhuǎn)換為離散屬性再進(jìn)行處理,假設(shè)數(shù)據(jù)集合D中屬性F的取值分別為F1,F(xiàn)2,…,F(xiàn)d ,對于F每一個(gè)取值將小于等于其的樣本分到左子樹,大于其的樣本分到右子樹,計(jì)算當(dāng)前分法的信息增益率,最后選擇d-1種分法中最大的信息增益率作為屬性F的信息增益率。
3 結(jié)果與分析
使用農(nóng)安縣2012年耕地地力調(diào)查所得數(shù)據(jù)作為試驗(yàn)數(shù)據(jù),數(shù)據(jù)由吉林省土壤肥料工作站和農(nóng)安縣農(nóng)業(yè)技術(shù)推廣中心提供。2012年農(nóng)安縣耕地地力調(diào)查主要對土壤中速效氮、速效磷和速效鉀3種養(yǎng)分進(jìn)行統(tǒng)計(jì),表1為統(tǒng)計(jì)結(jié)果中的部分?jǐn)?shù)據(jù),其中管理分區(qū)號為專家根據(jù)多年經(jīng)驗(yàn)劃分所得,農(nóng)安縣共劃分為20個(gè)農(nóng)田管理區(qū)。試驗(yàn)均在MATLAB 7.0環(huán)境下進(jìn)行,運(yùn)行計(jì)算機(jī)配置為:Core i3-2350M, 2.3 Hz CPU,4 G 內(nèi)存。
3.1 模型精度
為規(guī)范后續(xù)試驗(yàn),定義模型精度為決策樹模型對其構(gòu)建樣本的分類精度。因?yàn)闃?gòu)建決策樹的樣本個(gè)數(shù)會(huì)影響決策樹模型精度,故首先對不同樣本個(gè)數(shù)下生成的決策樹模型進(jìn)行了精度測試。模型精度測試試驗(yàn)分別選擇500、1 000、1 500、2 000個(gè)數(shù)據(jù)樣本生成決策樹,每組試驗(yàn)10次重復(fù),每次均隨機(jī)選擇樣本。圖2為一次試驗(yàn)中生成的部分決策樹模型,表2為4個(gè)樣本數(shù)下所生成的決策樹的模型精度,由表2可以看出C4.5算法分類模型穩(wěn)定,劃分精度不會(huì)因構(gòu)建樣本個(gè)數(shù)變化而產(chǎn)生較大差異,并且在不同構(gòu)建樣本個(gè)數(shù)下都能夠維持較高的精度。
3.2 分類精度
決策樹模型的建立最終要應(yīng)用于農(nóng)田管理區(qū)的劃分,為測試所建決策樹模型的分類精度,在此部分將試驗(yàn)數(shù)據(jù)分為訓(xùn)練集和測試集,每次試驗(yàn)使用訓(xùn)練集樣本生成決策樹,而后對測試集樣本進(jìn)行分類。試驗(yàn)分3組進(jìn)行,共使用4 579組土壤養(yǎng)分?jǐn)?shù)據(jù),第一組試驗(yàn)從每個(gè)農(nóng)田管理區(qū)中隨機(jī)選取924個(gè)樣本作為訓(xùn)練數(shù)據(jù),剩余樣本作為測試數(shù)據(jù);第二組試驗(yàn)和第三組試驗(yàn)分別從每個(gè)農(nóng)田管理區(qū)中隨機(jī)選取1 840和2 756個(gè)樣本作為訓(xùn)練數(shù)據(jù),剩余樣本作為測試數(shù)據(jù),每組試驗(yàn)10次重復(fù)。另外,還將試驗(yàn)結(jié)果與另一種決策樹算法ID3進(jìn)行比較,結(jié)果見表3。由表3可以看出,對于農(nóng)安縣土壤養(yǎng)分?jǐn)?shù)據(jù),C4.5算法模型精度高,并且農(nóng)田管理區(qū)劃分準(zhǔn)確(最低分類精度為88.25%),相比ID3算法C4.5算法具有明顯的優(yōu)勢。
表4左側(cè)為專家劃分的第一農(nóng)田管理區(qū)中的部分土壤養(yǎng)分?jǐn)?shù)據(jù),右側(cè)為C4.5算法劃分的第一農(nóng)田管理區(qū)中部分土壤養(yǎng)分?jǐn)?shù)據(jù),比較分析可以得出,使用C4.5算法所劃分的農(nóng)田管理區(qū)內(nèi)土壤養(yǎng)分與專家劃分農(nóng)田管理區(qū)內(nèi)土壤養(yǎng)分相近,并且農(nóng)田管理區(qū)內(nèi)各土壤樣本間養(yǎng)分差異較小。
4 小結(jié)與討論
農(nóng)田管理區(qū)劃分是精準(zhǔn)農(nóng)業(yè)中重要的一部分,對于中國這樣的農(nóng)業(yè)大國,精準(zhǔn)合理地劃分農(nóng)田管理區(qū)有著重要意義。在以往管理區(qū)劃分中,多是由專家根據(jù)多年經(jīng)驗(yàn)或參考農(nóng)戶施肥及產(chǎn)量進(jìn)行劃分,但專家人數(shù)有限,完全依靠專家劃分推廣精準(zhǔn)農(nóng)業(yè)不現(xiàn)實(shí)。使用C4.5算法通過分析土壤中速效N、速效P、速效K的含量對耕地進(jìn)行了管理區(qū)劃分,同一農(nóng)田管理區(qū)內(nèi)可使用相同或相似的施肥方案,現(xiàn)將該方法的優(yōu)勢與不足總結(jié)如下。
1)與傳統(tǒng)農(nóng)田管理區(qū)劃分方法相比,使用C4.5算法進(jìn)行農(nóng)田管理區(qū)劃分效率高,實(shí)用性強(qiáng),易于推廣,對精準(zhǔn)農(nóng)業(yè)實(shí)施具有促進(jìn)作用。
2)與早期的決策樹算法ID3算法相比,C4.5算法模型精度更高,分類更準(zhǔn)確,能夠?yàn)檗r(nóng)安縣農(nóng)田管理區(qū)劃分提供更精準(zhǔn)的指導(dǎo)。
3)使用數(shù)據(jù)挖掘中的經(jīng)典算法C4.5算法,在其決策節(jié)點(diǎn)生成過程中并未設(shè)置針對農(nóng)田管理區(qū)劃分這類問題的典型優(yōu)化,在以后的工作中會(huì)嘗試相關(guān)改進(jìn),期望獲得更好的分類效果。
通過模型精度測試和分類精度測試兩個(gè)試驗(yàn)證明了C4.5決策樹算法是解決農(nóng)安縣農(nóng)田管理區(qū)劃分的一種有效方法,依據(jù)農(nóng)安縣土壤速效養(yǎng)分?jǐn)?shù)據(jù)建立的C4.5決策樹模型準(zhǔn)確度高且模型穩(wěn)定,可用于指導(dǎo)農(nóng)安縣精準(zhǔn)農(nóng)業(yè)實(shí)施。
參考文獻(xiàn):
[1] 任舟橋,劉耀林,焦利民.基于決策樹的土地適宜性評價(jià)[J].資源調(diào)查與評價(jià),2007(3):21-25.
[2] 王宏威.基于決策樹的分類算法研究[J].軟件導(dǎo)刊,2007(17):134-135.
[3] 曹冬梅.基于自動(dòng)決策樹的江寧區(qū)土地利用分類[EB/OL].Http://www.baidu.com/link?url=w3MdDsq4KOYZLH6wxiqlZ2v544Gnh
wSH8GZmm9pMSsFAK7oqCCR0A-L27DX4wta2,2013-08-19.
[4] DURKIN J,蔡競峰,蔡自興.決策樹技術(shù)及其當(dāng)前研究方向[J]. 控制工程,2005,12(1):15-18,21.
[5] 季桂樹,陳沛玲,宋 航.決策樹分類算法研究綜述[J].科技廣場,2007(1):9-12.
[6] 王 磊,鄭任兒.決策樹算法的比較研究[J].科技信息,2012(30):156-157.
假設(shè)D是一個(gè)包含了d個(gè)數(shù)據(jù)樣本的集合,且其對應(yīng)于k個(gè)不同的類ci(i=1...k),所有類別構(gòu)成類別集合C,則信息熵定義為:
entropy(D)=-■p(cj)log2p(cj)(1)
其中p(cj)表示D中數(shù)據(jù)屬于cj類的概率,公式(1)反映了數(shù)據(jù)集合D中類別的不確定程度,假設(shè)F是數(shù)據(jù)集D的一個(gè)屬性,對于離散數(shù)據(jù)F可取v個(gè)不同的值,因此根據(jù)屬性F可將集合D劃分為v個(gè)不相交的子集 D1,D2,…,Dv。利用屬性F劃分當(dāng)前數(shù)據(jù)集合后類別熵為:
entropy(D,F(xiàn))=■■×entropy(D■) (2)
由公式(1)和公式(2)可知,利用屬性F對當(dāng)前分枝節(jié)點(diǎn)進(jìn)行相應(yīng)樣本集合劃分所獲得的信息增益為:
gain(D,F(xiàn))=entropy(D)-entropy(D,F(xiàn)) (3)
ID3算法使用公式(3)為每個(gè)屬性計(jì)算信息增益,選擇信息增益最大的屬性作為決策樹的下一個(gè)節(jié)點(diǎn),因?yàn)樾畔⒃鲆嫫蜻x擇值較多的屬性,在C4.5算法中使用信息增益率選擇分類屬性,信息增益率定義為:
gainRatio(D,F(xiàn))=■ (4)
以上是C4.5算法對離散數(shù)據(jù)進(jìn)行分類的原理[5,6],對于連續(xù)性數(shù)據(jù),算法先將其轉(zhuǎn)換為離散屬性再進(jìn)行處理,假設(shè)數(shù)據(jù)集合D中屬性F的取值分別為F1,F(xiàn)2,…,F(xiàn)d ,對于F每一個(gè)取值將小于等于其的樣本分到左子樹,大于其的樣本分到右子樹,計(jì)算當(dāng)前分法的信息增益率,最后選擇d-1種分法中最大的信息增益率作為屬性F的信息增益率。
3 結(jié)果與分析
使用農(nóng)安縣2012年耕地地力調(diào)查所得數(shù)據(jù)作為試驗(yàn)數(shù)據(jù),數(shù)據(jù)由吉林省土壤肥料工作站和農(nóng)安縣農(nóng)業(yè)技術(shù)推廣中心提供。2012年農(nóng)安縣耕地地力調(diào)查主要對土壤中速效氮、速效磷和速效鉀3種養(yǎng)分進(jìn)行統(tǒng)計(jì),表1為統(tǒng)計(jì)結(jié)果中的部分?jǐn)?shù)據(jù),其中管理分區(qū)號為專家根據(jù)多年經(jīng)驗(yàn)劃分所得,農(nóng)安縣共劃分為20個(gè)農(nóng)田管理區(qū)。試驗(yàn)均在MATLAB 7.0環(huán)境下進(jìn)行,運(yùn)行計(jì)算機(jī)配置為:Core i3-2350M, 2.3 Hz CPU,4 G 內(nèi)存。
3.1 模型精度
為規(guī)范后續(xù)試驗(yàn),定義模型精度為決策樹模型對其構(gòu)建樣本的分類精度。因?yàn)闃?gòu)建決策樹的樣本個(gè)數(shù)會(huì)影響決策樹模型精度,故首先對不同樣本個(gè)數(shù)下生成的決策樹模型進(jìn)行了精度測試。模型精度測試試驗(yàn)分別選擇500、1 000、1 500、2 000個(gè)數(shù)據(jù)樣本生成決策樹,每組試驗(yàn)10次重復(fù),每次均隨機(jī)選擇樣本。圖2為一次試驗(yàn)中生成的部分決策樹模型,表2為4個(gè)樣本數(shù)下所生成的決策樹的模型精度,由表2可以看出C4.5算法分類模型穩(wěn)定,劃分精度不會(huì)因構(gòu)建樣本個(gè)數(shù)變化而產(chǎn)生較大差異,并且在不同構(gòu)建樣本個(gè)數(shù)下都能夠維持較高的精度。
3.2 分類精度
決策樹模型的建立最終要應(yīng)用于農(nóng)田管理區(qū)的劃分,為測試所建決策樹模型的分類精度,在此部分將試驗(yàn)數(shù)據(jù)分為訓(xùn)練集和測試集,每次試驗(yàn)使用訓(xùn)練集樣本生成決策樹,而后對測試集樣本進(jìn)行分類。試驗(yàn)分3組進(jìn)行,共使用4 579組土壤養(yǎng)分?jǐn)?shù)據(jù),第一組試驗(yàn)從每個(gè)農(nóng)田管理區(qū)中隨機(jī)選取924個(gè)樣本作為訓(xùn)練數(shù)據(jù),剩余樣本作為測試數(shù)據(jù);第二組試驗(yàn)和第三組試驗(yàn)分別從每個(gè)農(nóng)田管理區(qū)中隨機(jī)選取1 840和2 756個(gè)樣本作為訓(xùn)練數(shù)據(jù),剩余樣本作為測試數(shù)據(jù),每組試驗(yàn)10次重復(fù)。另外,還將試驗(yàn)結(jié)果與另一種決策樹算法ID3進(jìn)行比較,結(jié)果見表3。由表3可以看出,對于農(nóng)安縣土壤養(yǎng)分?jǐn)?shù)據(jù),C4.5算法模型精度高,并且農(nóng)田管理區(qū)劃分準(zhǔn)確(最低分類精度為88.25%),相比ID3算法C4.5算法具有明顯的優(yōu)勢。
表4左側(cè)為專家劃分的第一農(nóng)田管理區(qū)中的部分土壤養(yǎng)分?jǐn)?shù)據(jù),右側(cè)為C4.5算法劃分的第一農(nóng)田管理區(qū)中部分土壤養(yǎng)分?jǐn)?shù)據(jù),比較分析可以得出,使用C4.5算法所劃分的農(nóng)田管理區(qū)內(nèi)土壤養(yǎng)分與專家劃分農(nóng)田管理區(qū)內(nèi)土壤養(yǎng)分相近,并且農(nóng)田管理區(qū)內(nèi)各土壤樣本間養(yǎng)分差異較小。
4 小結(jié)與討論
農(nóng)田管理區(qū)劃分是精準(zhǔn)農(nóng)業(yè)中重要的一部分,對于中國這樣的農(nóng)業(yè)大國,精準(zhǔn)合理地劃分農(nóng)田管理區(qū)有著重要意義。在以往管理區(qū)劃分中,多是由專家根據(jù)多年經(jīng)驗(yàn)或參考農(nóng)戶施肥及產(chǎn)量進(jìn)行劃分,但專家人數(shù)有限,完全依靠專家劃分推廣精準(zhǔn)農(nóng)業(yè)不現(xiàn)實(shí)。使用C4.5算法通過分析土壤中速效N、速效P、速效K的含量對耕地進(jìn)行了管理區(qū)劃分,同一農(nóng)田管理區(qū)內(nèi)可使用相同或相似的施肥方案,現(xiàn)將該方法的優(yōu)勢與不足總結(jié)如下。
1)與傳統(tǒng)農(nóng)田管理區(qū)劃分方法相比,使用C4.5算法進(jìn)行農(nóng)田管理區(qū)劃分效率高,實(shí)用性強(qiáng),易于推廣,對精準(zhǔn)農(nóng)業(yè)實(shí)施具有促進(jìn)作用。
2)與早期的決策樹算法ID3算法相比,C4.5算法模型精度更高,分類更準(zhǔn)確,能夠?yàn)檗r(nóng)安縣農(nóng)田管理區(qū)劃分提供更精準(zhǔn)的指導(dǎo)。
3)使用數(shù)據(jù)挖掘中的經(jīng)典算法C4.5算法,在其決策節(jié)點(diǎn)生成過程中并未設(shè)置針對農(nóng)田管理區(qū)劃分這類問題的典型優(yōu)化,在以后的工作中會(huì)嘗試相關(guān)改進(jìn),期望獲得更好的分類效果。
通過模型精度測試和分類精度測試兩個(gè)試驗(yàn)證明了C4.5決策樹算法是解決農(nóng)安縣農(nóng)田管理區(qū)劃分的一種有效方法,依據(jù)農(nóng)安縣土壤速效養(yǎng)分?jǐn)?shù)據(jù)建立的C4.5決策樹模型準(zhǔn)確度高且模型穩(wěn)定,可用于指導(dǎo)農(nóng)安縣精準(zhǔn)農(nóng)業(yè)實(shí)施。
參考文獻(xiàn):
[1] 任舟橋,劉耀林,焦利民.基于決策樹的土地適宜性評價(jià)[J].資源調(diào)查與評價(jià),2007(3):21-25.
[2] 王宏威.基于決策樹的分類算法研究[J].軟件導(dǎo)刊,2007(17):134-135.
[3] 曹冬梅.基于自動(dòng)決策樹的江寧區(qū)土地利用分類[EB/OL].Http://www.baidu.com/link?url=w3MdDsq4KOYZLH6wxiqlZ2v544Gnh
wSH8GZmm9pMSsFAK7oqCCR0A-L27DX4wta2,2013-08-19.
[4] DURKIN J,蔡競峰,蔡自興.決策樹技術(shù)及其當(dāng)前研究方向[J]. 控制工程,2005,12(1):15-18,21.
[5] 季桂樹,陳沛玲,宋 航.決策樹分類算法研究綜述[J].科技廣場,2007(1):9-12.
[6] 王 磊,鄭任兒.決策樹算法的比較研究[J].科技信息,2012(30):156-157.
假設(shè)D是一個(gè)包含了d個(gè)數(shù)據(jù)樣本的集合,且其對應(yīng)于k個(gè)不同的類ci(i=1...k),所有類別構(gòu)成類別集合C,則信息熵定義為:
entropy(D)=-■p(cj)log2p(cj)(1)
其中p(cj)表示D中數(shù)據(jù)屬于cj類的概率,公式(1)反映了數(shù)據(jù)集合D中類別的不確定程度,假設(shè)F是數(shù)據(jù)集D的一個(gè)屬性,對于離散數(shù)據(jù)F可取v個(gè)不同的值,因此根據(jù)屬性F可將集合D劃分為v個(gè)不相交的子集 D1,D2,…,Dv。利用屬性F劃分當(dāng)前數(shù)據(jù)集合后類別熵為:
entropy(D,F(xiàn))=■■×entropy(D■) (2)
由公式(1)和公式(2)可知,利用屬性F對當(dāng)前分枝節(jié)點(diǎn)進(jìn)行相應(yīng)樣本集合劃分所獲得的信息增益為:
gain(D,F(xiàn))=entropy(D)-entropy(D,F(xiàn)) (3)
ID3算法使用公式(3)為每個(gè)屬性計(jì)算信息增益,選擇信息增益最大的屬性作為決策樹的下一個(gè)節(jié)點(diǎn),因?yàn)樾畔⒃鲆嫫蜻x擇值較多的屬性,在C4.5算法中使用信息增益率選擇分類屬性,信息增益率定義為:
gainRatio(D,F(xiàn))=■ (4)
以上是C4.5算法對離散數(shù)據(jù)進(jìn)行分類的原理[5,6],對于連續(xù)性數(shù)據(jù),算法先將其轉(zhuǎn)換為離散屬性再進(jìn)行處理,假設(shè)數(shù)據(jù)集合D中屬性F的取值分別為F1,F(xiàn)2,…,F(xiàn)d ,對于F每一個(gè)取值將小于等于其的樣本分到左子樹,大于其的樣本分到右子樹,計(jì)算當(dāng)前分法的信息增益率,最后選擇d-1種分法中最大的信息增益率作為屬性F的信息增益率。
3 結(jié)果與分析
使用農(nóng)安縣2012年耕地地力調(diào)查所得數(shù)據(jù)作為試驗(yàn)數(shù)據(jù),數(shù)據(jù)由吉林省土壤肥料工作站和農(nóng)安縣農(nóng)業(yè)技術(shù)推廣中心提供。2012年農(nóng)安縣耕地地力調(diào)查主要對土壤中速效氮、速效磷和速效鉀3種養(yǎng)分進(jìn)行統(tǒng)計(jì),表1為統(tǒng)計(jì)結(jié)果中的部分?jǐn)?shù)據(jù),其中管理分區(qū)號為專家根據(jù)多年經(jīng)驗(yàn)劃分所得,農(nóng)安縣共劃分為20個(gè)農(nóng)田管理區(qū)。試驗(yàn)均在MATLAB 7.0環(huán)境下進(jìn)行,運(yùn)行計(jì)算機(jī)配置為:Core i3-2350M, 2.3 Hz CPU,4 G 內(nèi)存。
3.1 模型精度
為規(guī)范后續(xù)試驗(yàn),定義模型精度為決策樹模型對其構(gòu)建樣本的分類精度。因?yàn)闃?gòu)建決策樹的樣本個(gè)數(shù)會(huì)影響決策樹模型精度,故首先對不同樣本個(gè)數(shù)下生成的決策樹模型進(jìn)行了精度測試。模型精度測試試驗(yàn)分別選擇500、1 000、1 500、2 000個(gè)數(shù)據(jù)樣本生成決策樹,每組試驗(yàn)10次重復(fù),每次均隨機(jī)選擇樣本。圖2為一次試驗(yàn)中生成的部分決策樹模型,表2為4個(gè)樣本數(shù)下所生成的決策樹的模型精度,由表2可以看出C4.5算法分類模型穩(wěn)定,劃分精度不會(huì)因構(gòu)建樣本個(gè)數(shù)變化而產(chǎn)生較大差異,并且在不同構(gòu)建樣本個(gè)數(shù)下都能夠維持較高的精度。
3.2 分類精度
決策樹模型的建立最終要應(yīng)用于農(nóng)田管理區(qū)的劃分,為測試所建決策樹模型的分類精度,在此部分將試驗(yàn)數(shù)據(jù)分為訓(xùn)練集和測試集,每次試驗(yàn)使用訓(xùn)練集樣本生成決策樹,而后對測試集樣本進(jìn)行分類。試驗(yàn)分3組進(jìn)行,共使用4 579組土壤養(yǎng)分?jǐn)?shù)據(jù),第一組試驗(yàn)從每個(gè)農(nóng)田管理區(qū)中隨機(jī)選取924個(gè)樣本作為訓(xùn)練數(shù)據(jù),剩余樣本作為測試數(shù)據(jù);第二組試驗(yàn)和第三組試驗(yàn)分別從每個(gè)農(nóng)田管理區(qū)中隨機(jī)選取1 840和2 756個(gè)樣本作為訓(xùn)練數(shù)據(jù),剩余樣本作為測試數(shù)據(jù),每組試驗(yàn)10次重復(fù)。另外,還將試驗(yàn)結(jié)果與另一種決策樹算法ID3進(jìn)行比較,結(jié)果見表3。由表3可以看出,對于農(nóng)安縣土壤養(yǎng)分?jǐn)?shù)據(jù),C4.5算法模型精度高,并且農(nóng)田管理區(qū)劃分準(zhǔn)確(最低分類精度為88.25%),相比ID3算法C4.5算法具有明顯的優(yōu)勢。
表4左側(cè)為專家劃分的第一農(nóng)田管理區(qū)中的部分土壤養(yǎng)分?jǐn)?shù)據(jù),右側(cè)為C4.5算法劃分的第一農(nóng)田管理區(qū)中部分土壤養(yǎng)分?jǐn)?shù)據(jù),比較分析可以得出,使用C4.5算法所劃分的農(nóng)田管理區(qū)內(nèi)土壤養(yǎng)分與專家劃分農(nóng)田管理區(qū)內(nèi)土壤養(yǎng)分相近,并且農(nóng)田管理區(qū)內(nèi)各土壤樣本間養(yǎng)分差異較小。
4 小結(jié)與討論
農(nóng)田管理區(qū)劃分是精準(zhǔn)農(nóng)業(yè)中重要的一部分,對于中國這樣的農(nóng)業(yè)大國,精準(zhǔn)合理地劃分農(nóng)田管理區(qū)有著重要意義。在以往管理區(qū)劃分中,多是由專家根據(jù)多年經(jīng)驗(yàn)或參考農(nóng)戶施肥及產(chǎn)量進(jìn)行劃分,但專家人數(shù)有限,完全依靠專家劃分推廣精準(zhǔn)農(nóng)業(yè)不現(xiàn)實(shí)。使用C4.5算法通過分析土壤中速效N、速效P、速效K的含量對耕地進(jìn)行了管理區(qū)劃分,同一農(nóng)田管理區(qū)內(nèi)可使用相同或相似的施肥方案,現(xiàn)將該方法的優(yōu)勢與不足總結(jié)如下。
1)與傳統(tǒng)農(nóng)田管理區(qū)劃分方法相比,使用C4.5算法進(jìn)行農(nóng)田管理區(qū)劃分效率高,實(shí)用性強(qiáng),易于推廣,對精準(zhǔn)農(nóng)業(yè)實(shí)施具有促進(jìn)作用。
2)與早期的決策樹算法ID3算法相比,C4.5算法模型精度更高,分類更準(zhǔn)確,能夠?yàn)檗r(nóng)安縣農(nóng)田管理區(qū)劃分提供更精準(zhǔn)的指導(dǎo)。
3)使用數(shù)據(jù)挖掘中的經(jīng)典算法C4.5算法,在其決策節(jié)點(diǎn)生成過程中并未設(shè)置針對農(nóng)田管理區(qū)劃分這類問題的典型優(yōu)化,在以后的工作中會(huì)嘗試相關(guān)改進(jìn),期望獲得更好的分類效果。
通過模型精度測試和分類精度測試兩個(gè)試驗(yàn)證明了C4.5決策樹算法是解決農(nóng)安縣農(nóng)田管理區(qū)劃分的一種有效方法,依據(jù)農(nóng)安縣土壤速效養(yǎng)分?jǐn)?shù)據(jù)建立的C4.5決策樹模型準(zhǔn)確度高且模型穩(wěn)定,可用于指導(dǎo)農(nóng)安縣精準(zhǔn)農(nóng)業(yè)實(shí)施。
參考文獻(xiàn):
[1] 任舟橋,劉耀林,焦利民.基于決策樹的土地適宜性評價(jià)[J].資源調(diào)查與評價(jià),2007(3):21-25.
[2] 王宏威.基于決策樹的分類算法研究[J].軟件導(dǎo)刊,2007(17):134-135.
[3] 曹冬梅.基于自動(dòng)決策樹的江寧區(qū)土地利用分類[EB/OL].Http://www.baidu.com/link?url=w3MdDsq4KOYZLH6wxiqlZ2v544Gnh
wSH8GZmm9pMSsFAK7oqCCR0A-L27DX4wta2,2013-08-19.
[4] DURKIN J,蔡競峰,蔡自興.決策樹技術(shù)及其當(dāng)前研究方向[J]. 控制工程,2005,12(1):15-18,21.
[5] 季桂樹,陳沛玲,宋 航.決策樹分類算法研究綜述[J].科技廣場,2007(1):9-12.
[6] 王 磊,鄭任兒.決策樹算法的比較研究[J].科技信息,2012(30):156-157.