1. 程式人生 > >Spark ML包隨機森林迴歸

Spark ML包隨機森林迴歸

官方文件:

trainRegressor(, categoricalFeaturesInfo: Map[IntInt]numTrees: Int,

featureSubsetStrategy: Stringimpurity: StringmaxDepth: Int,

我們需要一個LabeledPoint 格式的 訓練資料

LabeledPoint 由兩部分組成

val input=LabeledPoint(Label,Feature(Vector型))

Label需要為double型

此處我們需要Import LabledPoint 和Vector2個包:

import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.mllib.linalg.{Vectors,Vector}

其他引數:

categoricalFeaturesInfo:一個Map,表示離散特徵,格式為[colId,該colId對應特徵的維度數]

numTrees:樹的數量

featureSubsetStrategy:特徵取樣方法,選用"auto"代表按1/3取樣

impurity:計算特徵重要性的指標,此處為迴歸,選用"variance"

maxDepth:樹的最大深度

maxBins:樹的最大分裂區間數

seed:隨機種子,可不填

val model=RandomForest.trainRegressor(...)

val pre=model.predict("test_feature")

pre為最終迴歸結果