我正在尝试提取我使用PySpark训练的随机森林对象的类概率.但是,我没有在文档中的任何地方看到它的示例,也不是它的方法RandomForestModel.
如何从RandomForestModelPySpark中的分类器中提取类概率?
以下是文档中提供的示例代码,它仅提供最终类(而不是概率):
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, …Run Code Online (Sandbox Code Playgroud) 我在python中使用Spark 2.0.1,我的数据集在DataFrame中,所以我使用ML(不是MLLib)库进行机器学习.我有一个多层感知器分类器,我只有两个标签.
我的问题是,是否有可能不仅获得标签,还可以(或仅)获得该标签的概率?对于每个输入不仅仅是0或1,而是0到0.95和0.05为1.如果MLP不可能,但是可以使用其他分类器,我可以更改分类器.我只使用了MLP,因为我知道它们应该能够返回概率,但我在PySpark中找不到它.
我发现了一个类似的主题, 如何从MultilayerPerceptronClassifier获得分类概率? 但他们使用Java,他们建议的解决方案在python中不起作用.
谢谢
machine-learning neural-network apache-spark pyspark apache-spark-ml