Apache spark Spark-ML朴素贝叶斯类值到概率指数映射

Apache spark Spark-ML朴素贝叶斯类值到概率指数映射,apache-spark,machine-learning,naivebayes,Apache Spark,Machine Learning,Naivebayes,这个问题听起来很明显,但我已经做了很多搜索来找到答案,但还不能得到完整的证明 我正在使用Spark ML软件包,在运行Naive Bayes之后,得到了正确的概率结果,但没有找到一种方法来用概率索引映射特定的类值(不是通过查看结果,我知道哪个索引指向标签列中的哪个类值,但我需要一种编程方式,是否有任何方式,在其中一个文档中,我发现标签列中出现最多的类的索引为0,以此类推,但如果多个类的出现次数相同,该怎么办) 一种方法: val firstResult = resultsDataFrame.se

这个问题听起来很明显,但我已经做了很多搜索来找到答案,但还不能得到完整的证明

我正在使用Spark ML软件包,在运行Naive Bayes之后,得到了正确的概率结果,但没有找到一种方法来用概率索引映射特定的类值(不是通过查看结果,我知道哪个索引指向标签列中的哪个类值,但我需要一种编程方式,是否有任何方式,在其中一个文档中,我发现标签列中出现最多的类的索引为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
val firstResult=resultsDataFrame.select($“概率”,“预测”).first()
val probabilityVector=firstResult(0)。asInstanceOf[Vector]
val预测=第一个结果(1)。asInstanceOf[双精度]
val probabilityIndex=if((probabilityVector(0)<0.5&&prediction==0)| |(probabilityVector(0)>0.5&&prediction==1))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
val firstResult=resultsDataFrame.select($“概率”,“预测”).first()
val probabilityVector=firstResult(0)。asInstanceOf[Vector]
val预测=第一个结果(1)。asInstanceOf[双精度]
val probabilityIndex=if((probabilityVector(0)<0.5&&prediction==0)| |(probabilityVector(0)>0.5&&prediction==1))0其他1
概率指数就是你要找的