You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何保存KMeans模型以实现新数据的聚类归属判定?

如何保存并复用训练好的KMeans聚类模型

当然可以实现,你可以通过模型序列化的方式保存训练好的KMeans模型,之后直接加载模型对新数据做聚类预测,无需重复训练。常用的工具是pickle或joblib(后者对包含大量numpy数组的scikit-learn模型更高效)。

步骤1:训练并保存模型

在你的现有训练代码后添加保存逻辑:

import joblib  # 也可以用 pickle

n_clusters = 15
kmeans = KMeans(n_clusters = n_clusters, init = 'k-means++', max_iter = 3000, n_init = 100, random_state = 0)
y_kmeans = kmeans.fit_predict(data)

data_df['k-means'] = y_kmeans

# 将模型保存到本地文件
joblib.dump(kmeans, 'kmeans_cluster_model.pkl')
# 如果用pickle实现:
# with open('kmeans_cluster_model.pkl', 'wb') as f:
#     pickle.dump(kmeans, f)

步骤2:加载模型并预测新数据

当有新数据需要聚类时,直接加载保存好的模型,调用predict方法即可:

import joblib  # 对应保存时使用的工具

# 加载本地保存的模型
loaded_kmeans = joblib.load('kmeans_cluster_model.pkl')
# 如果用pickle加载:
# with open('kmeans_cluster_model.pkl', 'rb') as f:
#     loaded_kmeans = pickle.load(f)

# 假设new_data是你的新输入数据,特征维度必须和训练时的data完全一致
new_data_clusters = loaded_kmeans.predict(new_data)

关键注意事项

  • 新数据的特征数量、预处理逻辑必须和训练数据完全一致(比如训练前做了标准化/归一化,新数据也要用相同的均值、标准差做转换),否则预测结果会失效。
  • 后续需要重新分析数据变化时,只需重新训练模型并覆盖保存的kmeans_cluster_model.pkl文件即可。
  • 如果要可视化新数据的聚类结果,直接复用你现有的可视化代码,把data和y_kmeans替换成新数据和预测出的new_data_clusters即可。

内容的提问来源于stack exchange,提问作者Lleims

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 23:50:13