Spark ML 朴素贝叶斯类值到概率索引映射
Posted
技术标签:
【中文标题】Spark ML 朴素贝叶斯类值到概率索引映射【英文标题】:Spark ML naive bayes class value to probability index mapping 【发布时间】:2016-11-30 06:19:30 【问题描述】:问题可能听起来很明显,但我已经做了很多搜索以找到答案,但无法获得完整的证明解决方案。
我正在使用 Spark ML 包,并且在运行朴素贝叶斯获得正确的概率结果后,但没有找到将特定类值与概率索引映射的方法(不是通过查看结果,我知道哪个索引指向哪个类值来自标签列,但我想要一种编程方式,有什么办法吗,在其中一个文档中我发现标签 col 中出现最多的类将具有索引 0 等等,但是如果多个类将具有相同的出现次数怎么办)
【问题讨论】:
【参考方案1】:一种方法:
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
probabilityIndex 就是你要找的
【讨论】:
以上是关于Spark ML 朴素贝叶斯类值到概率索引映射的主要内容,如果未能解决你的问题,请参考以下文章