【发布时间】:2017-11-04 01:42:15
【问题描述】:
我有分类特征和连续特征的混合体。我已经为我所有的分类变量编制了索引,并使用 VectorAssembler 创建了一个特征列
StringIndexerModel indexer = new StringIndexer()
.setInputCol("categorical")
.setOutputCol("categoricalIdx1")
.setHandleInvalid("skip").fit(data);
VectorAssembler assembler = new VectorAssembler()
.setInputCols(new String[]{"categoricalIdx1","continuous"})
.setOutputCol("features");
DecisionTreeRegressor dt = new DecisionTreeRegressor()
.setMaxBins(40)
.setMaxDepth(10)
.setFeaturesCol("features")
.setLabelCol("commission")
.setPredictionCol("prediction");
我找不到任何方法来指定哪些特征是分类的,哪些是连续的。并且由于所有列都已转换为数值,DecisionTreeRegressor 如何知道差异。我在这里想念什么? 该代码似乎可以工作并且给出了很好的结果,但是我有一种预感,我在这里做错了。
【问题讨论】:
标签: java apache-spark machine-learning regression decision-tree