千家信息网

spark mlilib中高斯混合聚类的示例分析

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,这篇文章主要介绍了 spark mlilib中高斯混合聚类的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。运行代码如下pack
千家信息网最后更新 2025年02月05日spark mlilib中高斯混合聚类的示例分析

这篇文章主要介绍了 spark mlilib中高斯混合聚类的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

运行代码如下

package spark.clusteringimport org.apache.spark.mllib.clustering.{GaussianMixture, KMeans}import org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.{SparkConf, SparkContext}/**  * 高斯混合聚类  * 高斯分布:当一个数据向量在一个高斯分布的模型计算与之以内,则认为它与高斯分布相匹配,属于此模型的聚类.  * 混合高斯分布:任何样本的聚类都可以使用多个单高斯分布模型来表示.  *  * Created by eric on 16-7-21.  */object GMG {  val conf = new SparkConf()                                     //创建环境变量    .setMaster("local")                                             //设置本地化处理    .setAppName("gaussian")                              //设定名称  val sc = new SparkContext(conf)  def main(args: Array[String]) {    val data = sc.textFile("./src/main/spark/clustering/gmg.txt")    val parsedData = data.map(s => Vectors.dense(s.trim().split(' ').map(_.toDouble)))      .cache()    val model = new GaussianMixture().setK(2).run(parsedData) // 设置训练模型的分类数    for (i <- 0 until model.k) {      println("weight=%f\nmu=%s\nsigma=\n%s\n" format                      //逐个打印单个模型        (model.weights(i), model.gaussians(i).mu, model.gaussians(i).sigma))  //打印结果    }  }}

gmg.txt

1 2 12 1 22 3 14 1 22 3 32 3 43 1 11 4 1

结果如下

感谢你能够认真阅读完这篇文章,希望小编分享的" spark mlilib中高斯混合聚类的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0