我有一个38套公寓的数据集,包括早上、下午和晚上的用电量。我试图使用scikit learn中的k-Means实现对这个数据集进行分组,并得到一些有趣的结果。
第一个聚类结果:
这一切都很好,有了4个集群,我显然得到了4个与每个公寓相关的标签-0,1,2和3。使用KMeans
方法的random_state
参数,我可以修复质心随机初始化的种子,因此一致地获得属于同一单元的相同标签。
然而,由于这种具体情况是关于能源消耗的,因此可以在最高和最低消费者之间进行可测量的分类。因此,我希望将标签0分配给消费水平最低的公寓,将标签1分配给消费水平稍高的公寓,依此类推。
截至目前,我的标签是[2 1 3 0]或[“黑色”、“绿色”、“蓝色”、“红色”];我希望它们是[0 1 2 3]或[“红色”、“绿色”、“黑色”、“蓝色”]。我应该如何继续这样做,同时仍然保持质心初始化随机(固定种子)?
非常感谢你的帮助!
通过查找表转换标签是实现所需功能的一种简单方法。
首先,我生成一些模拟数据:
然后我对数据执行集群:
最后,我使用NumPy的^{} 来创建这样的查找表:
样本运行:
idx
显示从最低消耗级别到最高消耗级别排序的群集中心标签。lut[kmeans.labels_]
为0
/3
的装置属于最低/最高消耗水平的簇。相关问题 更多 >
编程相关推荐