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

Machine learning 为什么在kmeans聚类方法中使用kmeans.fit函数?,machine-learning,scikit-learn,cluster-analysis,Machine Learning,Scikit Learn,Cluster Analysis,我在视频中使用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,因为它被忽略)。而且,也没有真正

我在视频中使用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
,因为它被忽略)。而且,也没有真正的用例需要使用集群替换分类器

尽管如此,您还是需要在某个时候运行该算法。在构造函数中执行此操作是一种反模式(因此
KMeans(n_clusters=5,data=X)
是一个no-no),因此您必须调用一些方法。您不妨将其称为
fit
then,这至少适用于基于优化的方法,如k-means


但是,您可以简单地使用方法
k_means(X,n_clusters=5)
而不是使用类。然后它将是一行(例如,请参见
fit
的源代码)。

kmeans是您定义的模型

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

争论

kmeans.fit(参数)

是我们需要群集的数据集

使用

fit()函数

我们的模型准备好了

我们使用

数据标签=kmeans.labels_