Python 在sklearn中打印用户的聚类结果
我正在通过KMedoids对数组(X)进行集群Python 在sklearn中打印用户的聚类结果,python,cluster-analysis,Python,Cluster Analysis,我正在通过KMedoids对数组(X)进行集群 X = np.array([0.85142858,0.85566274,0.85364912,0.81536489,0.84929932,0.85042336,0.84899714, 0.82019115, 0.86112067,0.8312496 ]) X=X.reshape(-1, 1) kmedoids = KMedoids(n_clusters=5, random_state=0).fit(X) labels = kme
X = np.array([0.85142858,0.85566274,0.85364912,0.81536489,0.84929932,0.85042336,0.84899714,
0.82019115, 0.86112067,0.8312496 ])
X=X.reshape(-1, 1)
kmedoids = KMedoids(n_clusters=5, random_state=0).fit(X)
labels = kmedoids.predict(X)
df1 = pd.DataFrame(zip(kmedoids.labels_,X))
df1.index = df1.index
df1 = df1.rename({0: 'cluster', 1: 'parameter'}, axis=1)
df1['user'] = df1.index
df1.reset_index(drop=True, inplace=True)
df1 = df1[['cluster', 'user', 'parameter']]
df1
cluster user parameters
0 3 0 [0.85142858]
1 4 1 [0.85566274]
2 4 2 [0.85364912]
3 2 3 [0.81536489]
4 1 4 [0.84929932]
5 0 5 [0.85042336]
6 1 6 [0.84899714]
7 2 7 [0.82019115]
8 4 8 [0.86112067]
9 2 9 [0.8312496]
我的问题是如何用ites用户打印每个集群,我只需要集群行以这种方式显示
cluster 0
user 5
cluster 1
user4
user6
cluster 2
user 3
user 7
user 9
cluster 3
user 0
cluster 4
user 1
user 2
user 8
最后,在每个集群中,将每个用户的距离相加,然后找到值最小的用户。您可以使用Pandas按集群编号分组,然后打印每个集群的用户。
然后,您可以使用groupby方法按用户分组,并使用groupby对象的sum方法实现每个用户的距离总和。您可以使用Pandas按群集编号分组,然后打印每个群集的用户。
然后可以使用groupby方法按用户分组,并使用groupby对象的sum方法实现每个用户的距离总和