高斯混合聚类的思想比较简单,学过级数展开的都知道,一个符合条件(啥条件不记得了)的函数可以展开为多个三角函数的线性组合。
高斯混合聚类则是将数据的分布展开为K个正态分布的组合(即多元正态分布),然后求出这个多元正态分布的均值向量与协方差矩阵。
from pyspark.ml.clustering import GaussianMixture
from pyspark.sql import SparkSession
spark = SparkSession\
.builder\
.appName("GaussianMixtureExample")\
.getOrCreate()
dataset = spark.read.format("libsvm").load("sample_kmeans_data.txt")
gmm = GaussianMixture().setK(2).setSeed(538009335)
model = gmm.fit(dataset)
print("Gaussians shown as a DataFrame: ")
model.gaussiansDF.show(truncate=False)# 均值向量与协方差矩阵
网友评论