千家信息网

spark mllib中如何实现朴素贝叶斯算法

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,这篇文章主要介绍了spark mllib中如何实现朴素贝叶斯算法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据源说明第一列每行的标
千家信息网最后更新 2024年11月27日spark mllib中如何实现朴素贝叶斯算法

这篇文章主要介绍了spark mllib中如何实现朴素贝叶斯算法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

数据源说明

第一列每行的标签,其他列为特征

运行代码如下

package spark.logisticRegressionimport org.apache.spark.mllib.classification.NaiveBayesimport org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.mllib.util.MLUtilsimport 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 00,2 0 01,0 1 01,0 2 02,0 0 12,0 0 2

结果如图

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

0