构造训练数据
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.regression.LabeledPoint
val rawdata = sc.textFile("covtype.data")
val data = rawdata.map{ line =>
val row = line.split('\t').map(_.toDouble)
val featVec = Vectors.dense(row.init)
val label = row.last - 1
LabeledPoint(featVec, label)
}
MLlib 中的决策树模型要求 label 从 0 开始
随机森林
独立 ==> 并行?
在大数据的背景下,随机森林非常有吸引力,因为构成决策树的随机森林通常是独立构造的(这点不同与 AdaBoost),诸如 Spark 和 MapReduce 这样的大数据技术本质上适合数据并行问题。