0

小さなデータ セット (65x8) で単純な LDA を実行したいと考えています。65 個のインスタンス (サンプル)、8 個の機能 (属性)、および 4 個のクラスがあります。Matlab Toolbox には LDA 関数がないことがわかっているため、 LDA の matlab コードはすべて、独自のコードを記述する必要があります。何か助けはありますか?

私はウェブ上でこのコードを見つけます

load /Data;
 All_data= Data(:,1:8);
 All_data_label= Data(:,9);
 testing_ind = [];
 for i = 1:length(Data)
     if rand>0.8
         testing_ind = [testing_ind, i];
         end
 end
training_ind = setxor(1:length(Data), testing_ind);

[ldaClass,err,P,logp,coeff] = classify(Data(testing_ind,:),...
    Data((training_ind),:),Data_label(training_ind,:),'linear');
[ldaResubCM,grpOrder] = confusionmat(All_data_label(testing_ind,:),ldaClass)

次に、この結果を得ました ldaClass =

 3
 2
 3
 2
 1
 4
 3
 3
 1
 2
 1
 1
 2

エラー =

0.2963

P =

0.0001    0.0469    0.7302    0.2229
0.1178    0.5224    0.3178    0.0419
0.0004    0.2856    0.4916    0.2224
0.0591    0.6887    0.1524    0.0998
0.8327    0.1637    0.0030    0.0007
0.0002    0.1173    0.3897    0.4928
0.0000    0.0061    0.7683    0.2255
0.0000    0.0241    0.5783    0.3976
0.9571    0.0426    0.0003    0.0000
0.2719    0.5569    0.1630    0.0082
0.9999    0.0001    0.0000    0.0000
0.9736    0.0261    0.0003    0.0000
0.0842    0.6404    0.2634    0.0120

係数 =

フィールドを持つ 4x4 構造体配列: type name1 name2 const linear

ldaResubCM =

 4     0     0     0
 0     3     1     0
 0     1     1     0
 0     0     2     1

grpOrder =

 1
 2
 3
 4

したがって、65 個のインスタンス、8 個の属性、および 4 個のクラス (1、2、3、4) が​​あります。したがって、これらの結果を解釈する方法がわかりません。何か助けはありますか?

4

1 に答える 1