scala - 什么是 Spark 中的 DecisionTree.trainClassifier 参数

标签 scala apache-spark apache-spark-mllib

我正在研究 Spark MLlib。 在研究 DecisionTree 时,我看到了以下 DecisionTree.trainClassifier 用法示例。

import org.apache.spark.mllib.tree._
val model = DecisionTree.trainClassifier(trainData, 7, Map[int, int](), "gini", 4, 100)

这里有6个参数,第3(Map)、第5(4)、第6(100)个参数我没看懂。

Google 说它们是分类特征、lambda 和 alpha。 谁能更好地解释一下?

需要你的帮助

最佳答案

第三:
categoricalFeaturesInfo:不在此 map 中的任何特征都被视为连续的。

例如,Map(0 -> 2, 4 -> 10) 指定特征 0 是二进制的(取值 0 或 1),特征 4 有 10 个类别(值 {0, 1, ..., 9 }).请注意,特征索引是从 0 开始的:特征 0 和 4 是实例特征向量的第 1 个和第 5 个元素。

Map[Int,Int]表示所有特征都是数值类型。

第五:
很容易理解,就是树的(最大)深度。

第六名:
maxBins:离散化连续特征时使用的箱数。

增加 maxBins 允许算法考虑更多拆分候选并做出细粒度的拆分决策。但是,它也增加了计算和通信。

请注意,maxBins 参数必须至少为最大类别数。

您可以引用《Adcaned Analytics with Spark》一书(第 4.8-4.10 章)了解更多详细信息。

关于scala - 什么是 Spark 中的 DecisionTree.trainClassifier 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36216064/

相关文章:

scala - 为什么 Scalaz 7.1.5 中的 Free 不是 monad 实例?

performance - 在 Scala 组合器解析器中访问位置信息会降低性能

scala - 终止 Actor 和 ActorSystem 后应用程序未退出

scala - mllib Vector 的最大值?

python - 将两个 Spark mllib 管道连接在一起

scala - Spark MLib Word2Vec 错误 : The vocabulary size should be > 0

scala - 使用 json4s 时如何设置 Jackson 解析器功能?

scala - 使用数据帧时出现异常 : java. lang.NoSuchMethodError : scala. reflect.api.JavaUniverse.runtimeMirror(Ljava/lang/ClassLoader;)

scala - 如何测试在 Scala 中映射内部抛出的异常

java - Spark Java : java. lang.NoClassDefFoundError