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

Spark MLlib: Difference between DecisionTree.trainClassifier and DecisionTree.train

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

code for DecisionTree 中有一些线索。 train 的评论是:

Method to train a decision tree model. The method supports binary and multiclass classification and regression.

trainClassifier 的评论是:

Method to train a decision tree model for binary or multiclass classification.

既然想用二分类,我觉得最好用DecisionTree.trainClassifier的方法。但我想了解其中的差异。

有什么想法吗?

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)
  }