Spark MLlib:DecisionTree.trainClassifier和DecisionTree.train之间的区别

时间:2019-01-21 20:31:08

标签: scala apache-spark apache-spark-mllib decision-tree

我看不到DecisionTree.trainClassifierDecisionTree.train方法之间的区别。

DecisionTree的{​​{3}}中有一些线索。 train的评论是:

  

训练决策树模型的方法。     该方法支持二进制和多类分类和回归。

trainClassifier的评论是:

  

为二进制或多类分类训练决策树模型的方法。

由于我想使用二进制分类,因此我认为最好使用的是DecisionTree.trainClassifier方法。但我想了解这些差异。

有什么主意吗?

1 个答案:

答案 0 :(得分:1)

trainClassifier本质上是train的重载,其中算法预设为Classifier

在我下面,您引用的源代码中的预设Classification参数

 def trainClassifier(
      input: RDD[LabeledPoint],
      numClasses: Int,
      categoricalFeaturesInfo: Map[Int, Int],
      impurity: String,
      maxDepth: Int,
      maxBins: Int): DecisionTreeModel = {
    val impurityType = Impurities.fromString(impurity)
    train(input, ***Classification***, impurityType, maxDepth, numClasses, maxBins, Sort,
      categoricalFeaturesInfo)
  }
相关问题