Apache Spark MLlib WSSSE 错误
Apache Spark MLlib WSSSE Error
谁能告诉我 Apache Spark KMeansModel 中的 "Within Set Sum of Squared Error (WSSSE)" 和 computeCost 方法到底是什么?
标准的KMeans算法旨在最小化每组点之间距离的平方和:平方欧氏距离。这就是 WCSS objective。
计算出 val result = KMeans.train(<trainData>, <clusterNumber>, <Iterations>)
后,您可以使用组内误差平方和(类似于每个 K 分区中每个观测值的距离之和)来评估结果:
val error = result.computeCost(<trainData>)
希望对您有所帮助。
同意其他回复对WSSSE的解释。只是想补充一点,WSSSE 是比 WSSSE 更好的指标。 WSSSE 随数据集的大小而变大,而平均 WSSSE 更能衡量集群的内聚性。
WSSSE:
标准 KMeans
算法旨在最小化每个集合的点之间的距离的平方和:欧氏距离的平方。这就是 WCSS objective。计算出 val result = KMeans.train(<trainData>, <clusterNumber>, <Iterations>)
后,您可以使用组内误差平方和来评估结果(类似于每个 K partition
中每个观测值的距离之和):
val error = result.computeCost(<trainData>)
我不确定,但我认为这里没有从 KMean 的角度很好地解释 WSSSE 或 SSE(误差平方和)。这个演示文稿描述得更好 http://www.cs.uky.edu/~jzhang/CS689/PPDM-Chapter3.pdf
本质上,SSE 是,对于每个观察到的数据点,我们计算该观察到的数据点与 cluster/centroid 之间的欧几里得距离。我们将所有距离相加,得到 SSE。
直觉是,如果 clusters/centroids 接近它们分组的数据点,则 SSE 会很低。但是一旦总是可以增加K并获得较低的SSE但段很差(无论如何,那是一个单独的讨论)。
谁能告诉我 Apache Spark KMeansModel 中的 "Within Set Sum of Squared Error (WSSSE)" 和 computeCost 方法到底是什么?
标准的KMeans算法旨在最小化每组点之间距离的平方和:平方欧氏距离。这就是 WCSS objective。
计算出 val result = KMeans.train(<trainData>, <clusterNumber>, <Iterations>)
后,您可以使用组内误差平方和(类似于每个 K 分区中每个观测值的距离之和)来评估结果:
val error = result.computeCost(<trainData>)
希望对您有所帮助。
同意其他回复对WSSSE的解释。只是想补充一点,WSSSE 是比 WSSSE 更好的指标。 WSSSE 随数据集的大小而变大,而平均 WSSSE 更能衡量集群的内聚性。
WSSSE:
标准 KMeans
算法旨在最小化每个集合的点之间的距离的平方和:欧氏距离的平方。这就是 WCSS objective。计算出 val result = KMeans.train(<trainData>, <clusterNumber>, <Iterations>)
后,您可以使用组内误差平方和来评估结果(类似于每个 K partition
中每个观测值的距离之和):
val error = result.computeCost(<trainData>)
我不确定,但我认为这里没有从 KMean 的角度很好地解释 WSSSE 或 SSE(误差平方和)。这个演示文稿描述得更好 http://www.cs.uky.edu/~jzhang/CS689/PPDM-Chapter3.pdf
本质上,SSE 是,对于每个观察到的数据点,我们计算该观察到的数据点与 cluster/centroid 之间的欧几里得距离。我们将所有距离相加,得到 SSE。
直觉是,如果 clusters/centroids 接近它们分组的数据点,则 SSE 会很低。但是一旦总是可以增加K并获得较低的SSE但段很差(无论如何,那是一个单独的讨论)。