我需要对使用 k-means 聚类的多维数据集数据集执行降维。数据包含从放置在触觉手套上的传感器的传感器读数获得的正实数和负实数。数据是在表示一个动作时捕获的,比如将字母“A”表示为
0.1373 -1.8764
-1.7020 -0.8322
0.4862 0.8276
-0.0078 1.3597
0.9008 1.8043
2.9751 0.7125
-0.3257 0.1754
现在,我的困惑是
- 我没有使用以下代码对多维数据进行任何聚类
K=3; load('b2.txt'); data = b2; numObservarations = length(data); %% cluster opts = statset('MaxIter', 500, 'Display', 'iter'); [clustIDX, clusters, interClustSum, Dist] = kmeans(data, K, 'options',opts, ... 'distance','sqEuclidean', 'EmptyAction','singleton', 'replicates',3); %% plot data+clusters figure, hold on scatter3(data(:,1),data(:,2),data(:,3), 50, clustIDX, 'filled') scatter3(clusters(:,1),clusters(:,2),clusters(:,3), 200, (1:K)', 'filled') hold off, xlabel('x'), ylabel('y'), zlabel('z')
如何纠正这个问题?有什么问题?
在获得所有维度的集群后,我现在通过集群标签将数据表示为
1 1 3 2
等等。
- 这些数据是否包含事件的时间顺序?通过一目了然,但有论文说聚类不考虑时间顺序。
- 我需要减少它的长度。我知道主成分分析,但它用于选择维度并且不会减少数据长度。使用传入的测试数据集使用这种简化的格式进行基于距离的分类是否合理?