DecisionTree¶
-
類
pyspark.mllib.tree。
DecisionTree
¶ -
學習算法分類決策樹模型或回歸。
方法
trainClassifier
(數據、numClasses…[…])訓練分類的決策樹模型。
trainRegressor
(數據、categoricalFeaturesInfo)決策樹模型回歸訓練。
方法的文檔
-
classmethod
trainClassifier
( 數據:pyspark.rdd.RDD(pyspark.mllib.regression.LabeledPoint],numClasses:int,categoricalFeaturesInfo:Dict(int,int],雜質:str=“基尼”,maxDepth:int=5,maxBins:int=32,minInstancesPerNode:int=1,minInfoGain:浮動=0.0 )→pyspark.mllib.tree.DecisionTreeModel ¶ -
訓練分類的決策樹模型。
- 參數
-
-
數據
pyspark.RDD
-
訓練數據:LabeledPoint抽樣。標簽應該值{0,1,…,numClasses-1}。
- numClasses int
-
類的數量分類。
- categoricalFeaturesInfo dict
-
地圖存儲參數數量分類的功能。一個條目(n - > k)表明功能n k類別索引從0直言:{0,1,…,k - 1}。
- 雜質 str,可選
-
用於信息增益的計算標準。支持的價值觀:“基尼”或“熵”。(默認:“基尼”)
- maxDepth int,可選
-
樹的最大深度(例如深度0意味著1葉節點,深度1意味著1 + 2葉節點內部節點)。(默認值:5)
- maxBins int,可選
-
使用的箱子數量在每個節點尋找分裂。(默認值:32)
- minInstancesPerNode int,可選
-
最小數量的實例需要創建父在子節點分裂。(默認值:1)
- minInfoGain 浮動,可選
-
創建一個分裂所需最小信息增益。(默認值:0.0)
-
數據
- 返回
例子
> > >從numpy進口數組> > >從pyspark.mllib.regression進口LabeledPoint> > >從pyspark.mllib.tree進口DecisionTree> > >> > >數據=(…LabeledPoint(0.0,(0.0]),…LabeledPoint(1.0,(1.0]),…LabeledPoint(1.0,(2.0]),…LabeledPoint(1.0,(3.0])…]> > >模型=DecisionTree。trainClassifier(sc。並行化(數據),2,{})> > >打印(模型)DecisionTreeModel 1與3節點分類器的深度
> > >打印(模型。toDebugString())DecisionTreeModel 1與3節點分類器的深度如果(功能0 < = 0.5)預測:0.0其他(功能0 > 0.5)預測:1.0> > >模型。預測(數組([1.0)))1.0> > >模型。預測(數組([0.0)))0.0> > >抽樣=sc。並行化([[1.0),(0.0]])> > >模型。預測(抽樣)。收集()[1.0,0.0]
-
classmethod
trainRegressor
( 數據:pyspark.rdd.RDD(pyspark.mllib.regression.LabeledPoint],categoricalFeaturesInfo:Dict(int,int],雜質:str=“方差”,maxDepth:int=5,maxBins:int=32,minInstancesPerNode:int=1,minInfoGain:浮動=0.0 )→pyspark.mllib.tree.DecisionTreeModel ¶ -
決策樹模型回歸訓練。
- 參數
-
-
數據
pyspark.RDD
-
訓練數據:LabeledPoint抽樣。標簽是實數。
- categoricalFeaturesInfo dict
-
地圖存儲參數數量分類的功能。一個條目(n - > k)表明功能n k類別索引從0直言:{0,1,…,k - 1}。
- 雜質 str,可選
-
用於信息增益的計算標準。僅支持的價值回歸“方差”。(默認:“方差”)
- maxDepth int,可選
-
樹的最大深度(例如深度0意味著1葉節點,深度1意味著1 + 2葉節點內部節點)。(默認值:5)
- maxBins int,可選
-
使用的箱子數量在每個節點尋找分裂。(默認值:32)
- minInstancesPerNode int,可選
-
最小數量的實例需要創建父在子節點分裂。(默認值:1)
- minInfoGain 浮動,可選
-
創建一個分裂所需最小信息增益。(默認值:0.0)
-
數據
- 返回
例子
> > >從pyspark.mllib.regression進口LabeledPoint> > >從pyspark.mllib.tree進口DecisionTree> > >從pyspark.mllib.linalg進口SparseVector> > >> > >sparse_data=(…LabeledPoint(0.0,SparseVector(2,{0:0.0})),…LabeledPoint(1.0,SparseVector(2,{1:1.0})),…LabeledPoint(0.0,SparseVector(2,{0:0.0})),…LabeledPoint(1.0,SparseVector(2,{1:2.0}))…]> > >> > >模型=DecisionTree。trainRegressor(sc。並行化(sparse_data),{})> > >模型。預測(SparseVector(2,{1:1.0}))1.0> > >模型。預測(SparseVector(2,{1:0.0}))0.0> > >抽樣=sc。並行化([[0.0,1.0),(0.0,0.0]])> > >模型。預測(抽樣)。收集()[1.0,0.0]
-
classmethod