为什么我们在 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_
我正在使用视频中的 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_