Spark ML包隨機森林迴歸
阿新 • • 發佈:2019-02-07
官方文件:
trainRegressor(, categoricalFeaturesInfo: Map[Int, Int], numTrees: Int,
featureSubsetStrategy: String, impurity: String, maxDepth: 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為最終迴歸結果