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

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

成都创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为武都企业提供专业的网站制作、网站建设武都网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。

运行代码如下

package spark.clustering

import org.apache.spark.mllib.clustering.{GaussianMixture, KMeans}
import org.apache.spark.mllib.linalg.Vectors
import 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 1
2 1 2
2 3 1
4 1 2
2 3 3
2 3 4
3 1 1
1 4 1

结果如下

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

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


当前标题:sparkmlilib中高斯混合聚类的示例分析
文章URL:http://pwwzsj.com/article/gocosg.html