我看不到DecisionTree.trainClassifier
和DecisionTree.train
方法之间的区别。
在DecisionTree
的{{3}}中有一些线索。 train
的评论是:
训练决策树模型的方法。 该方法支持二进制和多类分类和回归。
trainClassifier
的评论是:
为二进制或多类分类训练决策树模型的方法。
由于我想使用二进制分类,因此我认为最好使用的是DecisionTree.trainClassifier
方法。但我想了解这些差异。
有什么主意吗?
答案 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)
}