我正在尝试应用 scikitlearn KMeans Clustering 包的基本用法,以创建可用于识别特定活动的不同集群。例如,在下面的数据集中,我有不同的使用事件(0、...、11),每个事件都有使用的瓦数和持续时间。
基于Wattage
、Duration
和timeOfDay
,我想将它们分成不同的组,看看我是否可以创建集群并手动分类每个集群的各个活动。
我在使用 KMeans 包时遇到了问题,因为我认为我的值需要采用整数形式。然后,我将如何在散点图上绘制集群?我知道我需要将原始数据点放在图上,然后也许我可以通过颜色将它们与集群分开?
km = KMeans(n_clusters = 5)
myFit = km.fit(activity_dataset)
Wattage time_stamp timeOfDay Duration (s)
0 100 2015-02-24 10:00:00 Morning 30
1 120 2015-02-24 11:00:00 Morning 27
2 104 2015-02-24 12:00:00 Morning 25
3 105 2015-02-24 13:00:00 Afternoon 15
4 109 2015-02-24 14:00:00 Afternoon 35
5 120 2015-02-24 15:00:00 Afternoon 49
6 450 2015-02-24 16:00:00 Afternoon 120
7 200 2015-02-24 17:00:00 Evening 145
8 300 2015-02-24 18:00:00 Evening 65
9 190 2015-02-24 19:00:00 Evening 35
10 100 2015-02-24 20:00:00 Evening 45
11 110 2015-02-24 21:00:00 Evening 100
编辑: 这是我运行的一次 K-Means 聚类的输出。我如何解释为零的均值?这在集群和数学方面意味着什么?
print (waterUsage[clmns].groupby(['clusters']).mean())
water_volume duration timeOfDay_Afternoon timeOfDay_Evening \
clusters
0 0.119370 8.689516 0.000000 0.000000
1 0.164174 11.114241 0.474178 0.525822
timeOfDay_Morning outdoorTemp
clusters
0 1.0 20.821613
1 0.0 25.636901