为什么我们在 kmeans 聚类方法中使用 kmeans.fit 函数?

why we use kmeans.fit function in kmeans clustering method?

我正在使用视频中的 kmeans 聚类技术,但我不明白为什么我们在 kmeans 聚类中使用 .fit 方法?

kmeans = KMeans(n_clusters=5, random_state=0)
kmeans.fit(X) //why we use this fit method here

因为 sklearn 的人很早就决定 所有东西 都应该有 fit(X, y)predict(X) 函数。而且它可能不会改变,因为向后兼容...

对于不使用y(默认为None,因为它被忽略)的聚类没有多大意义。并且没有真正的用例,您想要 drop-in 用集群替换 classifier。

不过,您有时会需要 运行 算法。在构造函数中执行此操作是 anti-pattern(因此 KMeans(n_clusters=5, data=X) 是 no-no),因此您将不得不调用一些方法。您也可以将其称为 fit,这至少适用于基于优化的方法,例如 k-means.

但是,您可以简单地使用方法 k_means(X, n_clusters=5) 而不是使用 class。那么它将是单行(示例参见fit的源代码)。

kmeans 是您定义的模型。

训练我们的模型,我们在这里使用kmeans.fit()

中的参数

kmeans.fit(argument)

是我们需要聚类的数据集。

使用后

fit() function

我们的模型准备好了。

然后我们使用

为该集群获得 标签

data_labels = kmeans.labels_