我正在 Spark 中训练 NaiveBayesModel,但是当我使用它来预测新实例时,我需要获取每个类别的概率。我查看了 NaiveBayesModel 中预测函数的代码,得出以下代码:
val thetaMatrix = new DenseMatrix (model.labels.length,model.theta(0).length,model.theta.flatten,true)
val piVector = new DenseVector(model.pi)
//val prob = thetaMatrix.multiply(test.features)
val x = test.map {p =>
val prob = thetaMatrix.multiply(p.features)
BLAS.axpy(1.0, piVector, prob)
prob
}
这可以正常工作吗? BLAS.axpy(1.0, piVector, prob)
行不断给我一个错误,提示找不到值“axpy”。
最佳答案
在最近的pull-request中它已添加到 Spark 主干并将在 Spark 1.5 中发布(结束 SPARK-4362 )。因此你可以打电话
def PredictProbabilities(testData: RDD[Vector]): RDD[Vector]
或
def PredictProbabilities(testData: Vector): Vector
关于apache-spark - 如何获取 Spark 朴素贝叶斯分类器中类的概率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31842502/