【发布时间】:2021-12-21 03:49:24
【问题描述】:
从开发者的角度来看,他们为什么要使用一个类来设计KMeans,然后让人们去初始化它并这样使用它:
from sklearn.cluster import KMeans
import numpy as np
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
为什么不是一个函数,让用户可以直接导入和调用它?
【问题讨论】:
-
如果我不得不猜测是因为 KMeans 不只提供一种功能。在安装了 KMeans 之后,可以调用另一个函数,也许最重要的
predict使用 KMeans 聚类来预测新数据集。当 KMeans 是一个函数时,您必须拟合 KMeans 并使用该输出根据拟合的输出进行预测。但我很好奇其他人对这个问题的看法,因为我在编写代码时经常挣扎以决定如何在创建类或函数之间进行选择。
标签: python scikit-learn k-means