Apache spark 如何计算K-均值聚类模型的精度;在设定的误差平方和内”;火花的价值?

Apache spark 如何计算K-均值聚类模型的精度;在设定的误差平方和内”;火花的价值?,apache-spark,k-means,apache-spark-mllib,Apache Spark,K Means,Apache Spark Mllib,我正在与Spark合作,想知道如何获得创建的K-means聚类模型的准确度值。在检查Spark-KMeansModel API时,我找到了“ComputeCost”,它返回了“误差平方和在设定范围内”的值 是否有一种方法可以计算由“误差平方和”值创建的模型的精度 或者,Spark中是否有任何其他选项可用于获得它?请给我一些建议 提前感谢:)准确度是监督学习(如分类)中的一个有用指标。然而,在无监督学习(如KMeans)的情况下,没有准确性(因为没有可供评估的标记数据/黄金标准) 假设您使用的是S

我正在与Spark合作,想知道如何获得创建的K-means聚类模型的准确度值。在检查Spark-KMeansModel API时,我找到了“ComputeCost”,它返回了“误差平方和在设定范围内”的值

是否有一种方法可以计算由“误差平方和”值创建的模型的精度

或者,Spark中是否有任何其他选项可用于获得它?请给我一些建议


提前感谢:)

准确度是监督学习(如分类)中的一个有用指标。然而,在无监督学习(如KMeans)的情况下,没有准确性(因为没有可供评估的标记数据/黄金标准)


假设您使用的是Spark 2.3.0,您可以使用ClusteringEvaluator来评估Kmeans模型的质量。您可以在文档中找到更多信息:

如果您使用pyspark运行K-Means聚类,则获取“在设定范围内的误差平方和”非常困难:

#K-Means
from pyspark.ml.clustering import KMeans

ClusterData=data.select("ID","features")

#Fitting
kmeans = KMeans().setK(10).setSeed(1)
model = kmeans.fit(ClusterData)

#Evaluation

wssse = model.computeCost(ClusterData)
print("Within Set Sum of Squared Errors = " + str(wssse))

#Results
centers = model.clusterCenters()
print("Cluster Centers: ")
for center in centers:
 print(center)
集群中心信息是另一个很好的指示器,可以稍后输入可视化工具