0

MATLAB データセットがあり、ヘッダーを読み取らずに数値のみを抽出したいと考えています。それを行う簡単な方法はありますか?

私はこれを持っています:

                                      MeanOfTrainingMSE    MeanOfTestMSE
Naive Regression                          26.291            26.327      
Linear Regression (attribute 400)         1.2466            1.2592      
Linear Regression (attribute 357)          1.214            1.2356      
Linear Regression (attribute 440)         1.1494            1.1562      
Linear Regression (attribute 404)         1.0072            1.0111      
Linear Regression (attribute 238)        0.92402           0.93002      
Linear Regression (attribute 473)        0.89838           0.90397      
Linear Regression (all attributes)    4.1155e-07            877.58      
Ridge Regression                      2.9044e-10            0.2533      
Kernel Ridge Regression                   1054.8            1023.2  

これを手に入れたい:

26.291            26.327
1.2466            1.2592
1.214             1.2356
1.1494            1.1562
1.0072            1.0111
0.92402           0.93002
0.89838           0.90397
4.1155e-07        877.58
2.9044e-10        0.2533
1054.8            1023.2
4

1 に答える 1

2

たとえば、データセットの名前がaFileの場合、対象の列の値を次のように取得できます。

>> X=[aFile.MeanOfTrainingMSE aFile.MeanOfTestMSE]

あなたのコメントに答えるために編集してください:

もっと良い方法があるかもしれませんが、次のようにすることもできます。

>> m=length(aFile.Properties.ObsNames);
>> n=length(aFile.Properties.VarNames);
>> data=ones(m,n);
>> names=aFile.Properties.VarNames; 
>> for a =1:n
     data(:,a)=aFile.(names{a});
   end

もちろん、これはデータの各列が数値であることを前提としています。

于 2012-08-14T22:53:56.163 に答える