当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark DecisionTree.trainClassifier用法及代码示例


本文简要介绍 pyspark.mllib.tree.DecisionTree.trainClassifier 的用法。

用法:

classmethod trainClassifier(data, numClasses, categoricalFeaturesInfo, impurity='gini', maxDepth=5, maxBins=32, minInstancesPerNode=1, minInfoGain=0.0)

训练用于分类的决策树模型。

1.1.0 版中的新函数。

参数

datapyspark.RDD

训练数据:LabeledPoint 的 RDD。标签应采用值 {0, 1, ..., numClasses-1}。

numClassesint

分类的类数。

categoricalFeaturesInfodict

Map存储分类特征的数量。条目 (n -> k) 表示特征 n 是分类的,其中 k 个类别从 0 开始索引:{0, 1, ..., k-1}。

impuritystr,可选

用于信息增益计算的标准。支持的值:“gini” 或“entropy”。 (默认:“gini”)

maxDepth整数,可选

树的最大深度(例如,深度 0 表示 1 个叶节点,深度 1 表示 1 个内部节点 + 2 个叶节点)。 (默认值:5)

maxBins整数,可选

用于在每个节点处查找拆分的箱数。 (默认值:32)

minInstancesPerNode整数,可选

子节点创建父拆分所需的最小实例数。 (默认值:1)

minInfoGain浮点数,可选

创建拆分所需的最小信息增益。 (默认值:0.0)

返回

DecisionTreeModel

例子

>>> from numpy import array
>>> from pyspark.mllib.regression import LabeledPoint
>>> from pyspark.mllib.tree import DecisionTree
>>>
>>> data = [
...     LabeledPoint(0.0, [0.0]),
...     LabeledPoint(1.0, [1.0]),
...     LabeledPoint(1.0, [2.0]),
...     LabeledPoint(1.0, [3.0])
... ]
>>> model = DecisionTree.trainClassifier(sc.parallelize(data), 2, {})
>>> print(model)
DecisionTreeModel classifier of depth 1 with 3 nodes
>>> print(model.toDebugString())
DecisionTreeModel classifier of depth 1 with 3 nodes
  If (feature 0 <= 0.5)
   Predict: 0.0
  Else (feature 0 > 0.5)
   Predict: 1.0

>>> model.predict(array([1.0]))
1.0
>>> model.predict(array([0.0]))
0.0
>>> rdd = sc.parallelize([[1.0], [0.0]])
>>> model.predict(rdd).collect()
[1.0, 0.0]

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.mllib.tree.DecisionTree.trainClassifier。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。