这似乎与:How to get the probability per instance in classifications models in spark.mllib
最相关我正在使用spark ml进行分类任务,构建一个MultilayerPerceptronClassifier。一旦我构建了一个模型,我可以得到一个给定输入向量的预测类,但是我不能得到每个输出类的概率。上面的清单表明NaiveBayesModel从Spark 1.5.0 (using a predictProbabilities method)开始支持此功能。我想为MLPC获得此功能。有没有办法可以破解它来获取我的概率?它会包含在1.6.2中吗?
答案 0 :(得分:1)
如果您查看this line in the MLPC source code,您可以看到MLPC正在使用提供我正在寻找的np.arange(1,5)
array([ 1, 2, 3, 4])
方法的基础TopologyModel
。 MLPC将生成的.predict
解码为单个标签。
我可以使用经过训练的MLPC模型使用其权重创建新的Vector
:
TopologyModel
答案 1 :(得分:0)
我认为简短的回答是否。
MultilayerPerceptronClassifier不具有概率性。在训练后设置权重(和任何偏差)时,给定输入的分类将始终相同。
我认为,你真正要问的是“如果我通过给定幅度的某些随机干扰来调整权重,那么分类与没有调整的分类有多大可能相同?”
您可以通过重新训练感知器(使用不同的,随机选择的起始条件)进行 ad hoc 概率计算,并了解各种分类的概率。
但我认为这不是MLPC预期行为的一部分。