Elbow Plot – ValueError: x and y must have same first dimension
本问题已经有最佳答案,请猛点这里访问。
我想为从 excel 文件中读取的预处理数据集生成肘部图。在下一步中,我想使用 matplotlib 包中的 plot 方法生成一个肘部图。执行代码后出现以下错误:
1
|
ValueError: x and y must have same first dimension, but have shapes (10,) and (1,)
|
代码如下所示:
1
2 3 4 5 6 7 |
plt.plot(range(1, 11), wcss, linewidth = 4, color = ‘black’, marker = ‘D’, markersize = 10)
plt.title(‘The Elbow Method’, family = ‘Arial’, fontsize = 14, color = ‘black’) plt.xlabel(‘Number of Clusters’, family = ‘Arial’, fontsize = 12, color = ‘black’) plt.ylabel(‘WCSS’, family = ‘Arial’, fontsize = 12, color = ‘black’) plt.xticks(fontsize = 12, color = ‘black’) plt.yticks(fontsize = 12, color = ‘black’) plt.grid(which = ‘both’, color = ‘black’, axis = ‘x’, alpha = 0.5) |
问题可能出在哪里?
请注意,在 x 轴上,您正在绘制 10 个点(即 range(1,11)),但在您的 wccs 变量中似乎只有一个值,您必须匹配 x 和 y 的数字,您十个不同的//’x//’不能有1个//’y//’。根据需要重新查看并调整 wccs 中的范围或值。
变量 wcss 似乎是一个标量而不是一个向量。
如果不知道您是如何创建变量 wcss 的,我们无法真正回答这个问题。但是您可能应该看看那个变量。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/267927.html