- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下代码使用 Scikit learn 创建 k-means 集群。
kmean = KMeans(n_clusters=nclusters,n_jobs=-1,random_state=2376,max_iter=1000,n_init=1000,algorithm='full',init='k-means++')
kmean_fit = kmean.fit(clus_data)
我还使用 kmean_fit.cluster_centers_
保存了质心
然后我腌制了 K 表示对象。
filename = pickle_path+'\\'+'_kmean_fit.sav'
pickle.dump(kmean_fit, open(filename, 'wb'))
这样我就可以使用 kmean_fit.predict() 加载相同的 kmeans pickle 对象并将其应用于新数据。
问题:
加载 kmeans pickle 对象和应用的方法是否会kmean_fit.predict()
允许我将新观察分配给existing clusters 基于现有集群的质心?这种方法是否只是从头开始重新聚类新数据?
如果此方法不起作用如何将新观察值分配给 现有集群,因为我已经保存了集群 使用高效 python 代码的质心?
PS:我知道使用现有集群作为因变量构建分类器是另一种方法,但我不想这样做,因为时间紧迫。
最佳答案
是的。 sklearn.cluster.KMeans
对象是否被腌制(如果你正确地取消腌制,你将处理“相同的”原始对象)影响您可以使用 predict
方法对新观察进行聚类。
一个例子:
from sklearn.cluster import KMeans
from sklearn.externals import joblib
model = KMeans(n_clusters = 2, random_state = 100)
X = [[0,0,1,0], [1,0,0,1], [0,0,0,1],[1,1,1,0],[0,0,0,0]]
model.fit(X)
输出:
KMeans(copy_x=True, init='k-means++', max_iter=300, n_clusters=2, n_init=10,
n_jobs=1, precompute_distances='auto', random_state=100, tol=0.0001,
verbose=0)
继续:
joblib.dump(model, 'model.pkl')
model_loaded = joblib.load('model.pkl')
model_loaded
输出:
KMeans(copy_x=True, init='k-means++', max_iter=300, n_clusters=2, n_init=10,
n_jobs=1, precompute_distances='auto', random_state=100, tol=0.0001,
verbose=0)
看看 n_clusters
和 random_state
参数在 model
和 model_new
对象之间如何相同?你可以开始了。
用"new"模型预测:
model_loaded.predict([0,0,0,0])
Out[64]: array([0])
关于python - 如何根据 python 中最近的集群质心逻辑将新观察分配给现有的 Kmeans 集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43257975/
前言 一年一度的虐狗节终于过去了,朋友圈各种晒,晒自拍,晒娃,晒美食,秀恩爱的。程序员在晒什么,程序员在加班。但是礼物还是少不了的,送什么好?作为程序员,我准备了一份特别的礼物,用以往发的微博数据
默认情况下,我有一个 V3 map 加载并以特定的经度/纬度为中心。加载后,用户可以输入他们的地址以获取前往该地点的路线。发生这种情况时, map 会调整大小以适应其左侧的方向框。因此,路线在 map
我是一名优秀的程序员,十分优秀!