0

我有一个小问题,我无法从我的过程中反转奇异值分解,但我想知道我是否可以事先映射数据。

我的一个数据集名为 fulldata。我将 svds 应用于这些数据,如下所示:

%% dimensionality reduction 
columns = 6
[U,S,V]=svds(fulldata,columns);

然后我从数据集中随机选择 1000 行:

rows = 1000;
columns = 6;

%# pick random rows
indX = randperm( size(fulldata,1) );
indX = indX(1:rows);

%# pick random columns
indY = indY(1:columns);

%# filter data
data = U(indX,indY);

我需要找到一种方法来判断它从 fulldata 中选择了哪些 1000 行?可能输出 1 - 1000 的数据,行号来自 fulldata。有谁知道可以做到的方式?

4

1 回答 1

2

实际上你几乎就在那里:

rows = 1000;
indX = randperm( size(fulldata,1) );
indX = indX(1:rows);

dataSample = fulldata(indX, :); 

dataSample 现在将包含 indX 中指定的所有 fulldata 行。

于 2012-07-12T15:49:26.210 回答