温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-12-16 14:39:40 来源:亿速云 阅读:124 作者:小新 栏目:云计算

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

运行代码如下

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中高斯混合聚类的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI