【发布时间】:2021-02-24 10:12:34
【问题描述】:
我尝试使用 for i 子句将轮廓分数计算为 1 到 10 个集群,但在尝试计算轮廓分数时:
与 data_gower 我得到:ValueError: bad input shape (1, 707)
使用 distArray 我得到:
ValueError: Expected 2D array, got 1D array instead:
array=[0.20401523 0.26294225 0.26405147 ... 0.21941337 0.20577586 0.10499758].
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample."
我正在使用以下代码:
data_gower = gower.gower_matrix(orig_df_w_707rows_11cols_fwhich_2categorical)
distArray = ssd.squareform(data_gower)
pam_silh = []
int_med = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
for i in range(1, 11) :
# calculate the model with i
kmedoids_instance = kmedoids(data_gower, int_med[:i], data_type = 'distance_matrix')
kmedoids_instance.process()
clusters = kmedoids_instance.get_clusters()
medoids = kmedoids_instance.get_medoids()
# calculate silhouette score and store it for graph
silhouette = silhouette_score(**data_gower or disarray**, clusters)
pam_silh.append(silhouette)
pam_silh
【问题讨论】: