我们在R中建立了用于聚类的模型。我们现在希望为我们想要集群的新客户部署模型的等式。在SAS中,Cluster节点用于提供Clustering SAS代码,我们只需要插入新的输入变量。 在R中有办法做到这一点吗?我们如何导出Cluster方程?
使用标准虹膜数据集的示例如下所示。
irisnew <- iris
library("cluster", lib.loc="~/R/win-library/3.2")
(kc <- kmeans(irisnew, 3))
K-means clustering with 3 clusters of sizes 62, 38, 50
Cluster means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 5.901613 2.748387 4.393548 1.433871
2 6.850000 3.073684 5.742105 2.071053
3 5.006000 3.428000 1.462000 0.246000
Clustering vector:
[1] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
[39] 3 3 3 3 3 3 3 3 3 3 3 3 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[77] 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 2 2 2 1 2 2 2 2 2 2 1
[115] 1 2 2 2 2 1 2 1 2 1 2 2 1 1 2 2 2 2 2 1 2 2 2 2 1 2 2 2 1 2 2 2 1 2 2 1
Within cluster sum of squares by cluster:
[1] 39.82097 23.87947 15.15100
(between_SS / total_SS = 88.4 %)
现在已经定义了Cluster,我有一个新的花瓣数据集,我需要根据上面的聚类规则进行分类。我的问题是我如何导出规则呢?通常,规则定义为
x = a1 * Sepal.Length + a2 * Sepal.Width +a3 * Petal.Length + a4 * Petal.Width + b
Then if x between z1 and z2 then Cluster1
else if x between z3 and z4 then Cluster2
else if x between z5 and z6 then Cluster3
else Cluster4
谢谢, 和Manish
答案 0 :(得分:1)
对于通用模型使用 - predict.glm(glm.model,newdata = newdf))
对于群集使用 - Simple approach to assigning clusters for new data after k-means clustering