當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。