如何将新数据点分配给集群?

数据挖掘 聚类
2022-03-11 04:39:50

我有一个用户数据集,其中包含['age','gender', 'computer_literacy', 'vision', 'colour_blind', 'education', 'font_size','colour'].

我对这些数据进行了聚类并将新聚类分配给现有数据。现在我想知道:如何为新用户找到类似的集群?

例如,如果我是新用户,我可能只提交一些详细信息,例如['age', 'gender', 'computer_literacy', 'vision']但仍想知道我属于哪个集群。

有哪些可能的方法来解决这个问题?

1个回答

假设如果您使用 kmeans 聚类,那么您可以

1.使用pickle训练和保存模型

2.loa使用pickle的模型

3.将您的新样本作为向量传递给加载的模型对象 model.predict([[0, 0], [12, 3]]) 的预测函数

这只会给你一个集群标签

4.如果您想获得样本可能属于的前 n 个集群,则将模型的集群中心保存在变量中,这将是 list 或 matrix 的列表。

cc=kmeans.cluster_centers_

计算你的新样本和 cc 矩阵之间的相似度,对距离进行排序,你将得到 n 个最近的簇