0

少し問題があります。プロセスから特異値の分解を元に戻すことはできませんが、事前にデータをマップできるかどうか疑問に思いました。

私のデータセットの1つは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);

フルデータからどの1000行を選択したかを知る方法を見つける必要がありますか?たぶん、fulldataからの行番号で1から1000までのデータを出力します。誰かがそれを行うことができる方法を知っていますか?

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 に答える