这篇文章主要介绍了spark mllib中如何实现朴素贝叶斯算法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
数据源说明
第一列每行的标签,其他列为特征
运行代码如下
package spark.logisticRegression
import org.apache.spark.mllib.classification.NaiveBayes
import org.apache.spark.mllib.linalg.Vectors
import org.apache.spark.mllib.util.MLUtils
import org.apache.spark.{SparkConf, SparkContext}
/**
* 分类 - 朴素贝叶斯简单示例
* 后验概率 = 先验概率 x 调整因子
* Created by eric on 16-7-18.
*/
object Bayes {
val conf = new SparkConf() //创建环境变量
.setMaster("local") //设置本地化处理
.setAppName("Bayes") //设定名称
val sc = new SparkContext(conf)
def main(args: Array[String]) {
val data = MLUtils.loadLabeledPoints(sc, "./src/main/spark/logisticRegression/bayes.txt")
val model = NaiveBayes.train(data, 1.0)
model.labels.foreach(println)//打印 label(labels是标签类别)
model.pi.foreach(println)//打印先验概率 (pi存储各个label先验概率)
//0.0
//1.0
//2.0
//-1.0986122886681098
//-1.0986122886681098
//-1.0986122886681098
val test = Vectors.dense(0, 0, 10)//新预测数据
val result = model.predict(test)//预测结果
println(result)//2.0
}
}
bayes.txt
0,1 0 0
0,2 0 0
1,0 1 0
1,0 2 0
2,0 0 1
2,0 0 2
结果如图

感谢你能够认真阅读完这篇文章,希望小编分享的“spark mllib中如何实现朴素贝叶斯算法”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!