Spark ML包随机森林回归
2016-08-05 15:39
399 查看
官方文档:
trainRegressor(input: RDD[LabeledPoint], categoricalFeaturesInfo: Map[Int, Int], numTrees: Int,
featureSubsetStrategy: String, impurity: String, maxDepth: Int,
maxBins: Int, seed: Int = Utils.random.nextInt())
我们需要一个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为最终回归结果
4000
trainRegressor(input: RDD[LabeledPoint], categoricalFeaturesInfo: Map[Int, Int], numTrees: Int,
featureSubsetStrategy: String, impurity: String, maxDepth: Int,
maxBins: Int, seed: Int = Utils.random.nextInt())
我们需要一个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为最终回归结果
4000
相关文章推荐
- [置顶] iOS调用WebService(SOAP接口)
- 练手python_随机生成200个获奖码
- int、long、long long取值范围 实例: 判断是否超出整形范围
- 各种Mutex(互斥量)的区别
- 练手python_ 将条形码保存在redis数据库中
- AngularJS使用orderBy报错
- 基于时间延迟的Python验证脚本
- 项目反思
- class.c 添加中文注释(1)
- 设计模式:adapter适配器
- 设置注释
- 简单实现二维码扫描
- Android之Dialog
- 测试
- 程序员常用的网站和博客
- 练手python_将条形码保存在mysql数据库中
- JSP 万能DAO( 增删改查)
- 大数据分析技术研究报告(三-3)
- TCP的拥塞控制
- HDU 4857 逃生 (拓扑排序+反向建图)