繁体   English   中英

Scikit学习KMeans聚类-使具有X特征的聚类适合您,预测具有X-1特征的聚类成员资格?

[英]Scikit-learn KMeans clustering - fit cluster with X features, predict cluster membership with X-1 features?

我目前正在尝试使用KMeans聚类解决某种回归任务(预测“ count”字段的值)。 这个想法很简单:

在我的测试数据集上拟合聚类:

 k_means = cluster.KMeans(n_clusters=4, n_init = 20, init='random')
 k_means.fit(df[['DistanceToMidnight','season','DayType','weather','temp','atemp','humidity','windspeed','count']])

*请注意,我在群集中确实使用了“计数”。

然后,我想使用我的测试集(除了没有“ count”字段外,其他基本相同)-我想使用除“ count”之外的所有功能确定集群成员身份,然后将“ count”分配给测试中的每一行设置为分配的群集中心的“计数”相关坐标。

有什么想法如何使用KMeans集群的标准功能简单地做到这一点? 我不能只调用“ k_means.predict”,因为由于功能编号不匹配,它将失败。

我能想到的最简单的方法是使用已训练的聚类提供的聚类中心来构建k_means聚类对象。 但是我不确定该怎么做。 是否可以通过为其提供已定义的群集质心来创建新的cluster.KMeans对象?

  1. 查找最近的集群中心
  2. 使用中心缺失的值

如果您遵循k均值原理,则最佳预测值是分配给中心的值; 除非您分别为每个集群建立回归模型。

您可以首先使用K均值计算所有质心。 然后计算从sklearn.metrics到每个点到所有质心的欧几里得距离(除了要排除的质心)。 最后,获得使每个点的距离(沿着第二轴的np.argmin )最小的聚类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM