其他分享
首页 > 其他分享> > 如何从MultilayerPerceptronClassifier获取分类概率?

如何从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());

标签:java,scala,apache-spark,apache-spark-ml
来源: https://codeday.me/bug/20190706/1396260.html