小編給大家分享一下spark mllib中決策樹優(yōu)缺點(diǎn)是什么,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司成立于2013年,我們提供高端重慶網(wǎng)站建設(shè)公司、成都網(wǎng)站制作公司、網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、網(wǎng)絡(luò)營(yíng)銷推廣、成都小程序開發(fā)、微信公眾號(hào)開發(fā)、網(wǎng)站推廣服務(wù),提供專業(yè)營(yíng)銷思路、內(nèi)容策劃、視覺設(shè)計(jì)、程序開發(fā)來完成項(xiàng)目落地,為搬家公司企業(yè)提供源源不斷的流量和訂單咨詢。
可以生成可以理解的規(guī)則。
計(jì)算量相對(duì)來說不是很大。
可以處理連續(xù)和種類字段。
決策樹可以清晰的顯示哪些字段比較重要
對(duì)連續(xù)性的字段比較難預(yù)測(cè)。
對(duì)有時(shí)間順序的數(shù)據(jù),需要很多預(yù)處理的工作。
當(dāng)類別太多時(shí),錯(cuò)誤可能就會(huì)增加的比較快。
一般的算法分類的時(shí)候,只是根據(jù)一個(gè)字段來分類。
出去玩 | 溫度 | 起風(fēng) | 下雨 | 濕度 |
1 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
package spark.DT import org.apache.spark.mllib.tree.DecisionTree import org.apache.spark.mllib.util.MLUtils import org.apache.spark.{SparkContext, SparkConf} /** * 決策樹使用案例-出去玩 * **********************************決策樹******************************** * 決策樹是一種監(jiān)督學(xué)習(xí),監(jiān)督學(xué)習(xí),就是給定一對(duì)樣本,每個(gè)樣本都有一組屬性和一個(gè)類別, * 這些類別是事先確定的,那么通過學(xué)習(xí)得到一個(gè)分類器,這個(gè)分類器能夠?qū)π鲁霈F(xiàn)的對(duì)象給 * 出正確的分類.其原理是:從一組無序無規(guī)則的因素中歸納總結(jié)出符合要求的分類規(guī)則. * * 決策樹算法基礎(chǔ):信息熵,ID3 * 信息熵:對(duì)事件中不確定的信息的度量.一個(gè)事件或?qū)傩灾?,其信息熵越大,含有的不確定信 * 息越大,對(duì)數(shù)據(jù)分析的計(jì)算也越有益.故,信息熵的選擇總是選擇當(dāng)前事件中擁有最高 * 信息熵的那個(gè)屬性作為待測(cè)屬性. * ID3:一種貪心算法,用來構(gòu)造決策樹.以信息熵的下降速度作為測(cè)試屬性的標(biāo)準(zhǔn),即在每個(gè) * 節(jié)點(diǎn)選取還尚未被用來劃分的,具有最高信息增益的屬性作為劃分標(biāo)準(zhǔn),然后繼續(xù)這個(gè)過程, * 直到生成的決策樹能完美分類訓(xùn)練樣例. * * 使用場(chǎng)景:任何一個(gè)只要符合 key-value 模式的分類數(shù)據(jù)都可以根據(jù)決策樹進(jìn)行推斷. * * 決策樹用來預(yù)測(cè)的對(duì)象是固定的,叢根到葉子節(jié)點(diǎn)的一條特定路線就是一個(gè)分類規(guī)則,決定 * 一個(gè)分類算法和結(jié)果. * * **********************************決策樹******************************** * Created by eric on 16-7-19. */ object DT { val conf = new SparkConf() //創(chuàng)建環(huán)境變量 .setMaster("local") //設(shè)置本地化處理 .setAppName("ZombieBayes") //設(shè)定名稱 val sc = new SparkContext(conf) def main(args: Array[String]) { val data = MLUtils.loadLibSVMFile(sc, "./src/main/spark/DT/DTree.txt") val numClasses = 2//分類數(shù)量 val categorycalFeaturesInfo = Map[Int, Int]()//設(shè)定輸入格式 val impurity = "entropy" //設(shè)定信息增益計(jì)算方式 val maxDepth = 5 //最大深度 val maxBins = 3 //設(shè)定分割數(shù)據(jù)集 val model = DecisionTree.trainClassifier( data,//輸入數(shù)據(jù)集 numClasses,//分類數(shù)量,本例只有出去,不出去,共兩類 categorycalFeaturesInfo,// 屬性對(duì)格式,這里是單純的鍵值對(duì) impurity,//計(jì)算信息增益形式 maxDepth,// 樹的高度 maxBins//能夠分裂的數(shù)據(jù)集合數(shù)量 ) println(model.topNode) println(model.numNodes)//5 println(model.algo)//Classification } }
DTree.txt
1 1:1 2:0 3:0 4:1 0 1:1 2:0 3:1 4:1 0 1:0 2:1 3:0 4:0 1 1:1 2:1 3:0 4:0 1 1:1 2:0 3:0 4:0 1 1:1 2:1 3:0 4:0
id = 1, isLeaf = false, predict = 1.0 (prob = 0.6666666666666666), impurity = 0.9182958340544896, split = Some(Feature = 0, threshold = 0.0, featureType = Continuous, categories = List()), stats = Some(gain = 0.31668908831502096, impurity = 0.9182958340544896, left impurity = 0.0, right impurity = 0.7219280948873623)
5
Classification
看完了這篇文章,相信你對(duì)“spark mllib中決策樹優(yōu)缺點(diǎn)是什么”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站標(biāo)題:sparkmllib中決策樹優(yōu)缺點(diǎn)是什么
鏈接分享:http://jinyejixie.com/article6/gggsog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容