成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Apache Spark中的決策樹

大數據 Spark
Apache Spark中沒有決策樹的實現可能聽起來很奇怪。然而從技術上來說是有的。在Apache Spark中,您可以找到一個隨機森林算法的實現,該算法實現可以由用戶指定樹的數量。因此,Apache Spark使用一棵樹來調用隨機森林。

Apache Spark中的決策樹

決策樹是在順序決策問題進行分類,預測和促進決策的有效方法。決策樹由兩部分組成:

  • 決策(Desion)
  • 結果(Outcome)

決策樹包含三種類型的節點:

  • 根節點(Root node):包含所有數據的樹的頂層節點。
  • 分割節點(Splitting node):將數據分配給子組(subgroup)的節點。
  • 終端節點(Terminal node):最終決定(即結果)。

(分割節點(Splitting node),僅就離散數學中的樹的概念而言,就是指分支節點,下面的翻譯為了強調"分支"有時會翻譯成分支結點,譯者注)

為了抵達終端結點或者說獲得結果,該過程從根節點開始。根據在根節點上做出的決定,選擇分支節點。基于在分支節點上做出的決定,選擇下一個子分支節點。這個過程繼續下去,直到我們到達終端節點,終端節點的值是我們的結果。

Apache Spark中的決策樹

Apache Spark中沒有決策樹的實現可能聽起來很奇怪。然而從技術上來說是有的。在Apache Spark中,您可以找到一個隨機森林算法的實現,該算法實現可以由用戶指定樹的數量。因此,Apache Spark使用一棵樹來調用隨機森林。

在Apache Spark中,決策樹是在特征空間上執行遞歸二進制分割的貪婪算法。樹給每個***部(即葉子結點)分區預測了相同的標簽。為了***化樹的節點處的信息增益,通過在一組可能的分支中選擇其中的***分割來貪婪地選擇每個分支結點。

節點不純度(impurity)是節點上標簽一致性的度量。目前的實施提供了兩種不純的分類方法(Gini雜質和熵(Gini impurity and entropy))。

 

停止規則

在滿足以下列條件之一的情況下,在節點處停止遞歸樹構建(即只要滿足一個就停止,譯者注):

  • 節點深度等于訓練用的 maxDepth 參數。
  • 沒有候選的分割結點導致信息收益大于 minInfoGain 。
  • 沒有候選的分割結點去產生(至少擁有訓練minInstancesPerNode實例)的子節點 。

有用的參數

  • algo:它可以是分類或回歸。
  • numClasses:分類類的數量。
  • maxDepth:根據節點定義樹的深度。
  • minInstancesPerNode:對于要進一步拆分的節點,其每個子節點必須至少接收到這樣的訓練實例數(即實例數必須等于這個參數)。
  • minInfoGain:對于一個節點進一步拆分,必須滿足拆分后至少提高這么多信息量。
  • maxBins:離散連續特征時使用的bin數。

準備決策樹的訓練數據

您不能直接向決策樹提供任何數據。它需要一種特殊的格式來提供。您可以使用 HashingTF 技術將訓練數據轉換為標記數據,以便決策樹可以理解。這個過程也被稱為數據的標準化。

(數據)供給和獲得結果

一旦數據被標準化,您就可以提供相同的決策樹算法進來行分類。但在此之前,您需要分割數據以用于訓練和測試目的; 為了測試的準確性,你需要保留一部分數據進行測試。你可以像這樣提供數據:

 

  1. al splits = data.randomSplit(Array(0.7, 0.3)) 
  2. val (trainingData, testData) = (splits(0), splits(1)) 
  3.  
  4. // Train a DecisionTree model. 
  5. // Empty categoricalFeaturesInfo indicates all features are continuous. 
  6.  
  7. val numClasses = 2 
  8. val categoricalFeaturesInfo = Map[IntInt]() 
  9. val impurity = "gini" 
  10. val maxDepth = 5 
  11. val maxBins = 32 
  12. val model = DecisionTree.trainClassifier(trainingData, numClasses, categoricalFeaturesInfo, 
  13. impurity, maxDepth, maxBins) 

在這里,數據是我的標準化輸入數據,為了訓練和測試目的,我將其分成7:3的比例。我們正在使用***深度的為5的"gini" 雜質("gini" impurity)。

一旦模型生成,您也可以嘗試預測其他數據的分類。但在此之前,我們需要驗證最近生成的模型的分類準確性。您可以通過計算"test error"來驗證其準確性。

 

  1. / Evaluate model on test instances and compute test error 
  2. val labelAndPreds = testData.map { point => 
  3. val prediction = model.predict(point.features) 
  4. (point.label, prediction) 
  5.  
  6. val testErr = labelAndPreds.filter(r => r._1 != r._2).count().toDouble / testData.count() 
  7. println("Test Error = " + testErr) 

就是這樣!你可以在這里查看一個正在運行的例子。

責任編輯:未麗燕 來源: 網絡大數據
相關推薦

2022-11-11 08:00:00

決策樹機器學習監督學習

2017-11-21 13:00:20

機器學習決策樹可視化

2016-09-30 16:12:47

GBDT算法決策樹

2019-05-15 09:00:00

決策樹機器學習人工智能

2022-12-21 14:39:35

機器學習案發決策樹

2022-01-24 09:00:00

機器學習決策樹算法

2012-08-06 09:04:01

決策樹建模

2017-09-11 13:33:44

大數據數據可視化決策樹

2017-07-18 16:25:31

機器學習算法決策樹

2017-05-10 15:41:29

機器學習算法數據

2017-12-12 12:24:39

Python決策樹

2022-10-19 11:33:07

決策樹策略搜索

2014-07-07 10:05:57

機械學習

2017-08-04 14:28:40

決策樹隨機森林CART模型

2017-02-23 08:45:36

Python決策樹數據集

2023-08-11 17:30:54

決策樹機器學習算法

2017-10-18 14:11:20

機器學習決策樹隨機森林

2021-11-08 07:11:49

決策樹數據分類器

2024-09-11 08:34:28

2020-11-02 13:54:41

Python可視化決策樹
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色在线免费观看 | 日韩精品成人免费观看视频 | 国产亚洲一区二区三区 | 欧美日韩亚洲一区 | 久久久久九九九女人毛片 | av一二三四 | 精品成人在线视频 | 久久美女网 | h在线免费观看 | 成人在线播放网站 | 久久专区| 精品在线观看一区 | 91社区在线高清 | 成人久久18免费网站 | 在线观看国产视频 | 色男人的天堂 | 粉嫩国产精品一区二区在线观看 | 国产高清精品一区二区三区 | 国产激情毛片 | 国产91久久精品一区二区 | 91视视频在线观看入口直接观看 | 一区二区三区国产在线观看 | 黄色毛片一级 | 日韩成人免费中文字幕 | 日韩视频一区 | 男人天堂社区 | 男人天堂99 | 亚洲一区综合 | 九九热这里只有精品在线观看 | 中文字幕的av | 在线一区二区观看 | 一区二区三区视频在线免费观看 | 一区二区久久 | 免费观看一级特黄欧美大片 | 午夜精品久久久久久久99黑人 | 北条麻妃av一区二区三区 | 亚洲欧美日韩成人在线 | 国产精品久久久久无码av | 欧美伊人久久久久久久久影院 | 天堂影院av | 9久9久9久女女女九九九一九 |