【发布时间】:2019-09-15 21:00:17
【问题描述】:
我正在尝试对我的 MFCC 数组“signal_mfcc”进行层次聚类,这是一个维度为 (198, 12) 的 ndarray。 198 个音频帧/观察和 12 个系数/维度?
我使用随机阈值“250”和“距离”作为标准,如下所示:
thresh = 250
print(signal_mfcc.shape)
clusters = hcluster.fclusterdata(signal_mfcc, thresh, criterion="distance")
在指定的阈值下,输出变量“cluster”是一个长度为 198 或 (198,) 的序列 [1 1 1 ... 1],我假设它会将所有数据指向一个集群。 然后,我使用 pyplot 用以下代码绘制 scatter():
# plotting
print(*(signal_mfcc.T).shape)
plt.scatter(*np.transpose(signal_mfcc), c=clusters)
plt.axis("equal")
title = "threshold: %f, number of clusters: %d" % (thresh) len(set(clusters)))
plt.title(title)
plt.show()
输出是:
plt.scatter(*np.transpose(signal_mfcc), c=clusters)
TypeError: scatter() got multiple values for argument 'c'
散点图不会显示。任何可能出错的线索? 提前致谢!
【问题讨论】:
标签: numpy matplotlib scipy scatter-plot hierarchical-clustering