k -表示Spark Streaming处理相同数据的次数



我是Spark Streaming的新手,我想使用K-means,但是当我研究这个时,我无法理解Spark Streaming使用相同数据的K-means有多少次?

也就是说,K-means算法是迭代的,那么我如何控制它在同一数据上运行的次数呢?

K-means本质上是关于k簇质心的。在每次迭代中,更新数据点所属的簇,然后重新计算k个质心。所以马上,最好的停止k-means运行的方法不是通过你运行了多少次算法,而是通过在这次运行中计算的质心是否与上一次相同。

当点在簇中稳定时,质心也会稳定,这意味着任何进一步的迭代都不会改变簇,这就是你应该停止的地方。

但是,如果你愿意,你也可以提前停止。您可以对算法进行编程,使其运行最大迭代次数。由于k-means会反复运行,因此它具有某种循环(while, for, foreach…)。你可以在那里放一个循环计数器,当你有了期望的运行时停止。或者,当以前的集群质心和新的集群质心的变化低于某个阈值时,您可以停止。

最新更新