Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python对音节类型进行聚类?_Python_Scipy_Time Series_Hierarchical Clustering_Svd - Fatal编程技术网

如何使用python对音节类型进行聚类?

如何使用python对音节类型进行聚类?,python,scipy,time-series,hierarchical-clustering,svd,Python,Scipy,Time Series,Hierarchical Clustering,Svd,这是关于堆栈溢出的第二个问题。我对python没有太多的经验,但我的第一个问题的结果非常好,并且我能够实现答案中的代码,因此我将再次尝试解决这个新问题: 我试图对金丝雀歌曲中的音节类型进行分类,以便使用每种类型作为模板来查找和分类具有类似行为的大型数据集。我使用唱歌的封套。我的数据是一个采样的数组,带有时间和振幅(数据的绘图发布在中)我尝试使用Numpy中的奇异值分解算法: U,s,V = linalg.svd(A) # SVD decomposition of A 我不知道如何用时间序列数据

这是关于堆栈溢出的第二个问题。我对python没有太多的经验,但我的第一个问题的结果非常好,并且我能够实现答案中的代码,因此我将再次尝试解决这个新问题:

我试图对金丝雀歌曲中的音节类型进行分类,以便使用每种类型作为模板来查找和分类具有类似行为的大型数据集。我使用唱歌的封套。我的数据是一个采样的数组,带有时间和振幅(数据的绘图发布在中)我尝试使用Numpy中的奇异值分解算法:

U,s,V = linalg.svd(A) # SVD decomposition of A
我不知道如何用时间序列数据构建一个有意义的矩阵,以便遵循这种方法。如何切割时间序列以获得矩阵来分析它

我想到了第二种可能的方法:分层聚类。这可能是一个更好的解决方案,但我不知道如何使用集群标准。我所知道的是:

  • 大约有10种不同的音节类型
  • 每种类型的最小值和相对最大值之间的距离都会发生变化
  • 还有每个音节的长度。 -相似音节具有相似的频率行为
我可以使用哪些信息为scipy.cluster.hierarchy提供信息。作用我想把常见的音节类型分组

我的灵感来自:


但是现在我不知道如何实现第一个测试。。。任何想法都可能非常有用,这是我第一次使用模式和时间序列。

SVD通常用于降维,而不是查找聚类本身,尽管降低数据的维数对于许多聚类方法来说是一个有用的预处理步骤。如果您能告诉我们您的数据格式,那将非常有帮助。非常感谢。我的数据是一个一维数组,表示采样的声音包络的振幅。这里有一个链接,其中有一个例子说明了当你绘制数据时,它是什么样子的。你认为每一个音节都是一个音节,还是每个音节都由一个音节序列组成?我必须删去一个单音节。大约有15种不同的类型,但我必须从声音文件中提取它们,它们有不同的大小,所以我不知道如何选择标准来切碎它们。我喜欢使用scipy的相关函数来比较音节。