中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spark mllib中決策樹優缺點是什么

發布時間:2021-12-16 14:41:18 來源:億速云 閱讀:192 作者:小新 欄目:云計算

小編給大家分享一下spark mllib中決策樹優缺點是什么,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

決策樹的優點:

  1. 可以生成可以理解的規則。

  2. 計算量相對來說不是很大。

  3. 可以處理連續和種類字段。

  4. 決策樹可以清晰的顯示哪些字段比較重要

決策樹的缺點:

  1. 對連續性的字段比較難預測。

  2. 對有時間順序的數據,需要很多預處理的工作。

  3. 當類別太多時,錯誤可能就會增加的比較快。

  4. 一般的算法分類的時候,只是根據一個字段來分類。

出去玩記錄表

出去玩溫度起風下雨濕度
11001
01011
00100
11100
11000
11100

運行代碼如下

package spark.DT

import org.apache.spark.mllib.tree.DecisionTree
import org.apache.spark.mllib.util.MLUtils
import org.apache.spark.{SparkContext, SparkConf}

/**
  * 決策樹使用案例-出去玩
  * **********************************決策樹********************************
  * 決策樹是一種監督學習,監督學習,就是給定一對樣本,每個樣本都有一組屬性和一個類別,
  * 這些類別是事先確定的,那么通過學習得到一個分類器,這個分類器能夠對新出現的對象給
  * 出正確的分類.其原理是:從一組無序無規則的因素中歸納總結出符合要求的分類規則.
  *
  * 決策樹算法基礎:信息熵,ID3
  * 信息熵:對事件中不確定的信息的度量.一個事件或屬性中,其信息熵越大,含有的不確定信
  *   息越大,對數據分析的計算也越有益.故,信息熵的選擇總是選擇當前事件中擁有最高
  *   信息熵的那個屬性作為待測屬性.
  * ID3:一種貪心算法,用來構造決策樹.以信息熵的下降速度作為測試屬性的標準,即在每個
  *   節點選取還尚未被用來劃分的,具有最高信息增益的屬性作為劃分標準,然后繼續這個過程,
  *   直到生成的決策樹能完美分類訓練樣例.
  *
  * 使用場景:任何一個只要符合 key-value 模式的分類數據都可以根據決策樹進行推斷.
  *
  * 決策樹用來預測的對象是固定的,叢根到葉子節點的一條特定路線就是一個分類規則,決定
  * 一個分類算法和結果.
  *
  * **********************************決策樹********************************
  * Created by eric on 16-7-19.
  */
object DT {
  val conf = new SparkConf()                                     //創建環境變量
    .setMaster("local")                                             //設置本地化處理
    .setAppName("ZombieBayes")                              //設定名稱
  val sc = new SparkContext(conf)

  def main(args: Array[String]) {
    val data = MLUtils.loadLibSVMFile(sc, "./src/main/spark/DT/DTree.txt")

    val numClasses = 2//分類數量
    val categorycalFeaturesInfo = Map[Int, Int]()//設定輸入格式
    val impurity = "entropy" //設定信息增益計算方式
    val maxDepth = 5 //最大深度
    val maxBins = 3 //設定分割數據集

    val model = DecisionTree.trainClassifier(
      data,//輸入數據集
      numClasses,//分類數量,本例只有出去,不出去,共兩類
      categorycalFeaturesInfo,// 屬性對格式,這里是單純的鍵值對
      impurity,//計算信息增益形式
      maxDepth,// 樹的高度
      maxBins//能夠分裂的數據集合數量
    )

    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

看完了這篇文章,相信你對“spark mllib中決策樹優缺點是什么”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

科技| 上思县| 壶关县| 乐业县| 海伦市| 安国市| 河源市| 溧阳市| 临沭县| 基隆市| 阳谷县| 邵阳市| 亚东县| 右玉县| 古田县| 上林县| 崇州市| 墨竹工卡县| 分宜县| 南京市| 固阳县| 克什克腾旗| 隆安县| 明水县| 保亭| 商洛市| 左贡县| 贵港市| 无为县| 涟水县| 嘉黎县| 绿春县| 张家港市| 环江| 密山市| 日土县| 晋州市| 云梦县| 平谷区| 渑池县| 明星|