如何从MultilayerPerceptronClassifier获取分类概率?

这似乎与:
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中吗?

最佳答案 如果您看一下
this line in the MLPC source code,您可以看到MLPC正在使用基础TopologyModel,它提供了我正在寻找的.predict方法. MLPC将得到的Vector解码为单个标签.

我能够使用训练有素的MLPC模型使用其权重创建一个新的TopologyModel:

MultilayerPerceptronClassifier trainer = new MultilayerPerceptronClassifier()...;
MultilayerPerceptronClassificationModel model = trainer.fit(trainingData);
TopologyModel topoModel = FeedForwardTopology.multiLayerPerceptron(model.layers(), true).getInstance(model.weights());
点赞