EP维多维特征的散点图

时间:2016-12-28 22:39:11

标签: python matplotlib machine-learning plot graph

我在绘制散点图时遇到问题

我想在散点图上绘制音频特征的值以获得清晰的视觉效果(因为我的训练集中没有5个音频文件 - 我将在增加数据集后用来训练KNN / SVM等)< / p>

标记的training_labels是 <div class="container"> <div class="left"></div> <div class="column"> <div class="right"></div> </div> </div>

虽然training_feature值为

[0, 0, 1, 2, 1]

每个要分类的对象都有2个功能,分别为[ [103.359375, [11, 36, 60, 85, 110, 134, 159, 183, 208, 232, 257, 286, 310, 335]], [89.10290948275862, [11, 41, 69, 98, 127, 155, 184, 213, 241, 270, 299, 327, 356]], [151.99908088235293, [7, 24, 41, 57, 73, 90, 107, 123, 140, 157, 173, 189, 206, 223, 239, 256, 272, 290, 307, 325, 343, 360, 377]], [143.5546875, [39, 57, 77, 95, 114, 132, 150, 168, 186, 204, 222, 239, 256, 272, 288, 305, 322, 340]], [83.35433467741936, [8, 38, 70, 101, 137, 168, 199, 230, 266, 298, 334, 365]] ] tempo

我如何在散点图中绘制这个?

我尝试了以下但由于x和y的大小不同而失败了

beat per minute

这给了我一个错误featureA = [x[0] for x in training_features] featureB = [x[1] for x in training_features] plt.scatter(featureA[:2], featureB[:2]) plt.scatter(featureA[2:], featureB[2:], color='r') plt.xlabel('Beat Frame') plt.ylabel('Tempo') 。请帮助:)

编辑:还有一件事,我如何绘制多个特征,即(&gt; 2),我想使用光谱质心,零交叉率,mfcc等,然后绘制结果

1 个答案:

答案 0 :(得分:1)

正如ImportanceOfBeingEarnest所说,问题在于数组的大小。

对于散射,您需要一个具有点(x和y)坐标的数组。 但featureB是一个包含许多值的数组。

bindToController: true

然后你需要将training_feature转换成这样的东西:

controllerAs: 'vm'

现在如果我们可以使用plt.scatter!

>>> print(featureB[:2])
[[11, 36, 60, 85, 110, 134, 159, 183, 208, 232, 257, 286, 310, 335],
[11, 41, 69, 98, 127, 155, 184, 213, 241, 270, 299, 327, 356]]

scatter_example

我不明白你想绘图,但我希望它适合你!...