这篇文章主要介绍了 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)) //打印结果
}
}
}
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中高斯混合聚类的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/sunmin/blog/722845