如何保存群集种子以用于进一步评分目的



我正在用Python构建一个k均值聚类模型。但是,我不确定如何保存聚类质心以及如何将它们用于将来的评分目的。我总是想在以后使用该模型时分配相同的集群 ID。如果有人有一个明确的代码来展示如何做到这一点,我将不胜感激。

更新:

嗨@HannounYassir,当然,对不起,我以前应该这样做:

假设我的数据集名称是data_clean,并且所有变量都已标准化并事先清理。

# define the cluster variables
cluster_vars=data_clean[['A' , 'B' , 'C']]
# Interpret 4 cluster solution for the data
model_4=KMeans(n_clusters=4,  random_state=30)
model_4.fit(cluster_vars_copy)
clusassign=model_4.predict(cluster_vars_copy)
# Score the customers from last year by using the model created. Imagine my new dataset is clustervars_new
model_4.fit_predict(clustervars_new)
clusassign_new=model_4.fit_predict(clustervars_new)                            

我 100% 确定我在评分阶段错过了一些东西,因为我没有保存质心种子。因此,它可能使用相同的模型,但是,我担心分配的集群ID将比原始数据集完全随机

不要使用 fit_predict .

它首先学习一个新的聚类,然后"预测"。

但您希望使用旧的聚类predict

我认为重用 fit/predict/fit_predict 的分类 API 在 sklearn 中是一个相当糟糕的设计决策。对于分类来说,这很方便,但聚类不是分类,大多数聚类算法根本无法"预测"新数据。

相关内容

最新更新