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)

返回
DecisionTreeModel

例子

> > >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])]> > >模型=DecisionTreetrainClassifier(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)

返回
DecisionTreeModel

例子

> > >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}))]> > >> > >模型=DecisionTreetrainRegressor(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]