【问题标题】:Converting a Scala map into Python for Spark将 Scala 映射转换为 Python for Spark
【发布时间】:2016-06-06 00:10:57
【问题描述】:

作为随机森林示例的一部分:

这里有一些上下文

val forest = RandomForest.trainClassifier(
  trainData, 7, Map(10 -> 4, 11 -> 40), 20,
  "auto", "entropy", 30, 300)
  1. 我不确定 Map(10 -> 4, 11 -> 40) 是什么意思?
  2. python 或 pyspark 的等效项是什么?

【问题讨论】:

    标签: python scala apache-spark pyspark random-forest


    【解决方案1】:

    这本质上相当于 Python 字典

    所以

    Map(10 -> 4, 11 -> 40)
    

    变成

    categoricalFeaturesInfo={10: 4, 11: 40}
    

    【讨论】:

    • 我不确定是否代表这样的随机森林:model = RandomForest.trainClassifier(trainingData, numClasses=7, {10: 4, 11: 40}, numTrees=20, featureSubsetStrategy="auto", impurity='entropy', maxDepth=30, maxBins=300) 错误提示:SyntaxError: non-keyword arg after keyword arg
    • 既然你要命名你的参数,你还需要指定这个参数的名称,上面已编辑
    • 谢谢@Nick。至少不会出错,但是我仍然不确定 10->4 和 11->40 是什么,并且代码进入无限循环,因为我认为我无法解析数据。
    • 对不起,我认为这个问题与地图有关。这旨在将您的分类变量映射到类别数量。不在此地图/字典中的任何内容都将被视为连续变量。所以这表明索引 10 处的变量有 4 个不同的值,而索引 11 处的特征有 40。
    猜你喜欢
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 2018-07-23
    • 2017-03-10
    相关资源
    最近更新 更多