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


Python pyspark RandomForest.trainRegressor用法及代码示例


本文简要介绍 pyspark.mllib.tree.RandomForest.trainRegressor 的用法。

用法:

classmethod trainRegressor(data, categoricalFeaturesInfo, numTrees, featureSubsetStrategy='auto', impurity='variance', maxDepth=4, maxBins=32, seed=None)

训练一个随机森林模型进行回归。

版本 1.2.0 中的新函数。

参数

datapyspark.RDD

训练数据集:LabeledPoint 的 RDD。标签是实数。

categoricalFeaturesInfodict

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

numTreesint

随机森林中的树数。

featureSubsetStrategystr,可选

在每个节点上考虑拆分的特征数量。支持的值:“auto”, “all”, “sqrt”、“log2”、“onethird”。如果设置了“auto”,则根据numTrees设置该参数:

  • 如果numTrees == 1,设置为“all”;

  • 如果 numTrees > 1(森林)设置为 “onethird” 进行回归。

(默认:“auto”)

impuritystr,可选

用于信息增益计算的标准。唯一支持的回归值是“variance”。 (默认:“variance”)

maxDepth整数,可选

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

maxBins整数,可选

用于分割要素的最大 bin 数。 (默认值:32)

seed整数,可选

用于引导和选择特征子集的随机种子。设置为 None 根据系统时间生成种子。 (默认:无)

返回

RandomForestModel

可用于预测。

例子

>>> from pyspark.mllib.regression import LabeledPoint
>>> from pyspark.mllib.tree import RandomForest
>>> from pyspark.mllib.linalg import SparseVector
>>>
>>> sparse_data = [
...     LabeledPoint(0.0, SparseVector(2, {0: 1.0})),
...     LabeledPoint(1.0, SparseVector(2, {1: 1.0})),
...     LabeledPoint(0.0, SparseVector(2, {0: 1.0})),
...     LabeledPoint(1.0, SparseVector(2, {1: 2.0}))
... ]
>>>
>>> model = RandomForest.trainRegressor(sc.parallelize(sparse_data), {}, 2, seed=42)
>>> model.numTrees()
2
>>> model.totalNumNodes()
4
>>> model.predict(SparseVector(2, {1: 1.0}))
1.0
>>> model.predict(SparseVector(2, {0: 1.0}))
0.5
>>> rdd = sc.parallelize([[0.0, 1.0], [1.0, 0.0]])
>>> model.predict(rdd).collect()
[1.0, 0.5]

相关用法


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