日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Mahout學(xué)習(xí)筆記-分類算法之Decision Forest

系統(tǒng) 2121 0

? ? 近來做一些遙感圖像自動(dòng)解譯的工作,需要根據(jù)遙感圖像每個(gè)單元(像元,像素)的幾個(gè)波段值和相互之間的位置關(guān)系來進(jìn)行自動(dòng)分類,也就是確定哪些區(qū)域是耕地,哪些是林地,哪些是草地。之前雖然有上過數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)的課,但是自己的專業(yè)并不在此,對(duì)遙感圖像的自動(dòng)分類更是一竅不通,所以慢慢自學(xué),順便寫個(gè)博客記錄一下自己的學(xué)習(xí)過程,謬誤在所難免,大家多多包涵指正。

? 根據(jù)最近的Mahout Wiki,Mahout實(shí)現(xiàn)的分類算法有:隨機(jī)梯度下降(SGD),貝葉斯分類,Online Passive Aggressive,HMM和決策森林(隨機(jī)森林)。隨機(jī)梯度下降當(dāng)前不能并行處理,貝葉斯分類更適合處理文本數(shù)據(jù),所以這兩個(gè)算法都不太適合我的應(yīng)用場(chǎng)景(并行處理,特征類型為數(shù)字),OPA和HMM不太熟悉,所以就選用了決策森林(隨機(jī)森林)。

? 決策森林,顧名思義,就是由多個(gè)決策樹組成森林,然后用這個(gè)森林進(jìn)行分類,非常適合用MapReduce實(shí)現(xiàn),進(jìn)行并行處理。決策森林又稱為隨機(jī)森林,這是因?yàn)椴煌诔R?guī)的決策樹(ID3,C4.5),決策森林中每個(gè)每棵樹的每個(gè)節(jié)點(diǎn)在選擇該點(diǎn)的分類特征時(shí)并不是從所有的輸入特征里選擇一個(gè)最好的,而是從所有的 M 個(gè)輸入特征里隨機(jī)的選擇 m 個(gè)特征,然后從這m個(gè)特征里選擇一個(gè)最好的(這樣比較適合那種輸入特征數(shù)量特別多的應(yīng)用場(chǎng)景,在輸入特征數(shù)量不多的情況下,我們可以取m=M)。然后針對(duì)目標(biāo)特征類型的不同,取多個(gè)決策樹的平均值(目標(biāo)特征類型為數(shù)字類型(numeric))或大多數(shù)投票(目標(biāo)特征類型為類別(category))。

? 在Mahout的example中有一個(gè)Decision Tree的例子,可以直接在命令行運(yùn)行:

? 1. 準(zhǔn)備數(shù)據(jù):

? 數(shù)據(jù)為Breiman提供的glass: http://archive.ics.uci.edu/ml/datasets/Glass+Identification

? 2. 生成數(shù)據(jù)的說明文件:

? 在Mahout目錄下執(zhí)行:bin/mahout org.apache.mahout.df.tools.Describe -p testdata/glass.data -f testdata/glass.info -d I 9 N L

? 數(shù)據(jù)格式為CSV,最后的I 9 N L說明各特征的屬性:

? I表示忽略第一個(gè)特征值(該特征值一般用來標(biāo)示每一條訓(xùn)練樣例,亦即可以作為ID)。

? 9 N表示接下來的9個(gè)特征是輸入特征,類型為數(shù)字類型。

? L 表示該特征是目標(biāo)特征,亦即Label。

? 以glass文件的前幾行為例為例:

1,1.52101,13.64,4.49,1.10,71.78,0.06,8.75,0.00,0.00,1
2,1.51761,13.89,3.60,1.36,72.73,0.48,7.83,0.00,0.00,1
3,1.51618,13.53,3.55,1.54,72.99,0.39,7.78,0.00,0.00,1
4,1.51766,13.21,3.69,1.29,72.61,0.57,8.22,0.00,0.00,1
5,1.51742,13.27,3.62,1.24,73.08,0.55,8.07,0.00,0.00,1

? 第一個(gè)特征被忽略,因?yàn)檫@個(gè)特征是作為ID用來表示每個(gè)樣例的,2-10是9個(gè)輸入特征,用來訓(xùn)練分類器,類型為數(shù)字(Numeric),最后一個(gè)特征是目標(biāo)特征,代表每個(gè)樣例所屬的類別,這里所有樣例都屬于"1"類。

? 3. 進(jìn)行分類和測(cè)試

? 在Mahout目錄下執(zhí)行:bin/mahout org.apache.mahout.df.BreimanExample -d testdata/glass.data -ds testdata/glass.info -i 10 -t 100

? -i表示迭代的次數(shù)

? -t表示每棵決策樹的節(jié)點(diǎn)的個(gè)數(shù)

? BreimanExample默認(rèn)會(huì)構(gòu)造兩個(gè)森林,一個(gè)取m=1,一個(gè)取m=log(M+1)。之所以這么做是為了說明即使m值很小,整個(gè)森林的分類結(jié)果也會(huì)挺好。

? 4. 分類的結(jié)果:

? 12/09/13 15:18:07 INFO df.BreimanExample: Selection error : 0.2952380952380952

? 12/09/13 15:18:07 INFO df.BreimanExample: Single Input error : 0.29999999999999993

? 12/09/13 15:18:07 INFO df.BreimanExample: One Tree error : 0.41874436090225553

? Selection Error 是用兩個(gè)森林中誤差較小的森林做分類得到的錯(cuò)誤率。

? Single Input Error 是用m=1的森林做分類得到的錯(cuò)誤率。

? One Tree Error 是單棵樹的平均錯(cuò)誤率。

我們可以看到,用森林分類的結(jié)果比單棵樹要好很多。同時(shí),m值即使取1,決策森林的誤差也不會(huì)比m值大的森林效果差很多。

以下是我用Decision Forest對(duì)遙感圖像做自動(dòng)解譯的效果,前者是人工解譯的圖像,我們利用這個(gè)圖像做訓(xùn)練,得到分類器,然后做自動(dòng)解譯,得到后者:

人工解譯的圖像 自動(dòng)解譯的圖像

Mahout學(xué)習(xí)筆記-分類算法之Decision Forest_第1張圖片

Mahout學(xué)習(xí)筆記-分類算法之Decision Forest_第2張圖片

?

?

?? 錯(cuò)誤率大概在23%左右,可以看到自動(dòng)解譯的圖像不夠平滑,有很多星點(diǎn),需要進(jìn)一步處理,可以使用擇多濾波。

Mahout學(xué)習(xí)筆記-分類算法之Decision Forest


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 互助| 随州市| 惠安县| 马尔康县| 乌拉特后旗| 泾源县| 都匀市| 宣城市| 清徐县| 秦安县| 玉屏| 博罗县| 东明县| 刚察县| 新干县| 敦化市| 会泽县| 德化县| 卫辉市| 南阳市| 荥阳市| 凤台县| 革吉县| 黄大仙区| 长泰县| 惠安县| 安平县| 济南市| 平凉市| 新龙县| 阿合奇县| 靖州| 治县。| 凤台县| 涿州市| 金堂县| 宁乡县| 清涧县| 泰安市| 依安县| 崇左市|