diff --git a/oldMcode/correlation2.m b/oldMcode/correlation2.m new file mode 100644 index 0000000..ce92014 --- /dev/null +++ b/oldMcode/correlation2.m @@ -0,0 +1,9 @@ +function [R2]=correlation2(A,B) + if size(A)~=size(B) + error('dimension missmatch') + end + R2=zeros(size(A,2),1); + for i=1:size(A,2) + R2(i)=corr(A(:,i),B(:,i))^2; + end +end \ No newline at end of file diff --git a/oldMcode/noOfSynergies.m b/oldMcode/noOfSynergies.m index 6dea77d..e62db76 100644 --- a/oldMcode/noOfSynergies.m +++ b/oldMcode/noOfSynergies.m @@ -1,42 +1,42 @@ -maxSize=6; +maxSize=min(10,size(trainingData,2)); -mseAutoenc=zeros([maxSize,1]); +r2Autoenc=zeros([maxSize,size(trainingData,2)]); for i=1:maxSize ae=trainAutoencoder(trainingData,i,'ShowProgressWindow',false); predicted=predict(ae,trainingData); - mseAutoenc(i)=mse(trainingData-predicted); + r2Autoenc(i,:)=correlation2(trainingData,predicted); end fig=figure(); subplot(1,3,1); -plot(mseAutoenc) +plot(r2Autoenc) title('Autoencoder') xlabel('number of syergies') -ylabel('mse') +ylabel('R^2') %PCA [COEFF,SCORE,latent] = pca(trainingData,'Centered',false); -msePCA=zeros([maxSize,1]); +r2PCA=zeros([maxSize,size(trainingData,2)]); for i=1:maxSize predicted=SCORE(:,1:i)*COEFF(:,1:i)'; - msePCA(i)=mse(trainingData-predicted); + r2PCA(i,:)=correlation2(trainingData,predicted); end subplot(1,3,2); -plot(msePCA) +plot(r2PCA) title('PCA') xlabel('number of syergies') -ylabel('mse') +ylabel('R^2') %NNMF -mseNNMF=zeros([maxSize,1]); +r2NNMF=zeros([maxSize,size(trainingData,2)]); for i=1:maxSize [W,H]=nnmf(trainingData,i); predicted=W*H; - mseNNMF(i)=mse(trainingData-predicted); + r2NNMF(i,:)=correlation2(trainingData,predicted); end subplot(1,3,3); -plot(mseNNMF) +plot(r2NNMF) title('NNMF') xlabel('number of syergies') -ylabel('mse') \ No newline at end of file +ylabel('R^2') \ No newline at end of file