【发布时间】:2015-05-03 07:55:37
【问题描述】:
我正在尝试提取我使用 PySpark 训练过的随机森林对象的类概率。但是,我在文档中的任何地方都没有看到它的示例,也不是RandomForestModel 的方法。
如何从 PySpark 中的 RandomForestModel 分类器中提取类概率?
这是文档中提供的示例代码,仅提供最终类(不是概率):
from pyspark.mllib.tree import RandomForest
from pyspark.mllib.util import MLUtils
# Load and parse the data file into an RDD of LabeledPoint.
data = MLUtils.loadLibSVMFile(sc, 'data/mllib/sample_libsvm_data.txt')
# Split the data into training and test sets (30% held out for testing)
(trainingData, testData) = data.randomSplit([0.7, 0.3])
# Train a RandomForest model.
# Empty categoricalFeaturesInfo indicates all features are continuous.
# Note: Use larger numTrees in practice.
# Setting featureSubsetStrategy="auto" lets the algorithm choose.
model = RandomForest.trainClassifier(trainingData, numClasses=2, categoricalFeaturesInfo={},
numTrees=3, featureSubsetStrategy="auto",
impurity='gini', maxDepth=4, maxBins=32)
# Evaluate model on test instances and compute test error
predictions = model.predict(testData.map(lambda x: x.features))
我没有看到任何model.predict_proba() 方法——我该怎么办??
【问题讨论】:
-
晚了,但有一个带有 scala 解决方案的叉子:github.com/apache/spark/compare/master...mqk:master
-
这个问题现在(大部分)在新的 Spark ML 库中得到了解决:stackoverflow.com/questions/43631031/…
标签: apache-spark pyspark random-forest apache-spark-mllib