问题可能听起来非常明显,但我已经做了很多搜索以找到答案,但却无法获得完整的证明解决方案。
我正在使用Spark ML包并在运行Naive Bayes后获得适当的概率结果,但没有找到一种方法用概率索引映射特定的类值(不是通过查看结果我知道哪个索引指向哪个类值从标签栏,但我想要一个程序化的方式,有什么办法,在我找到的标签col中的类中最常出现的类将有索引0等等,但是如果多个类具有相同的出现次数怎么办? )
答案 0 :(得分:0)
一种方法:
val firstResult = resultsDataFrame.select($"probability", $"prediction").first()
val probabilityVector = firstResult(0).asInstanceOf[Vector]
val prediction = firstResult(1).asInstanceOf[Double]
val probabilityIndex = if ((probabilityVector(0) < 0.5 && prediction == 0) || (probabilityVector(0) > 0.5 && prediction == 1)) 0 else 1
概率指数是您正在寻找的