【发布时间】:2013-11-01 02:59:57
【问题描述】:
我有一个多维时间序列数据,它们是动作识别的特征。我有 20 个变量代表 3D 关节位置、四元数值、平均值、关节之间的欧几里得距离。我已经应用了 k=4 的 kmeans 聚类。聚类后,我想将同时出现的集群 id 组合在一起,以便与它们对应的数据点也被该集群 id 组合在一起。例如,考虑以下 10 个数据样本的聚类索引,
IDX = [1 1 2 1 3 3 3 2 2 4]'
让数据如下,其中 A,B,C,D,E,F,G,H 是 3 个特征变量,其中 (A-C) 表示特定关节的 (x,y,z) 坐标,D表示关节相对于头部的欧式距离,(E-H)是关节的四元数值。让数值为元素。 Data =
A B C D E F G H
a1 b1 c1 d1 e1 f1 g1 h1
a2 b2 c2 d2 e2 f2 g2 h2
a3 b3 c3 d3 e3 f3 g3 h3
a4 b4 c4 d4 e4 f4 g4 h4
a5 b5 c5 d5 e5 f5 g5 h5
a6 b6 c6 d6 e6 f6 g6 h6
a7 b7 c7 d7 e7 f7 g7 h7
a8 b8 c8 d8 e8 f8 g8 h8
a9 b9 c9 d9 e9 f9 g9 h9
a10 b10 c10 d10 e10 f10 g10 h10
然后,结果将是一个缩减向量(数据的压缩版本),其中前 2 行数据将由集群 id 1 表示,第 3 行数据由集群 id 2 表示,第 4 行 = 1,第五,第 6 行和第 7 行将合并,第 3、8 和 9 行用 2 表示,最后一行用 4 表示。因此,最终的数据表示成为一个压缩字符串,其维度和长度也减少了:Compressed_Data = [1 2 1 3 2 4]'。如何进行此映射和转换?提前谢谢你。
【问题讨论】:
-
不清楚你在做什么。您是否尝试过针对该问题进行任何编码,您能否举例说明如何从输入中获取输出?输出的倒数第二行不应该是 2 而不是 1?
-
没关系。我想知道输出是否是
Compressed_Data中的错误 -
我问的是倒数第二个元素 (
Compressed_Data(end-1))。为什么是 1?
标签: matlab compression cluster-analysis dimensionality-reduction