% Lezione di lab TTR  -04/04/2012- PCA - Marco Cristani

% Caricare il file “iris.mat”
% dataset di 150 oggetti in uno spazio 4-dimensionale
% Calcolare la matrice di trasformazione A utilizzando la Principal Component Analysis
% Ridurre la dimensionalità del dataset a due/tre e visualizzarlo
% visualizzare le varie classi con simboli diversi


clear all
close all
load 'irisSet.mat'

[d,N] = size(X); %numero dim, numero punti

% 1: media
u = mean(X,2);
% 2: centering
h = ones(1,N);
B = X-u*h;
% 3: covariance matrix
C = 1/N * B*B';
% 4: eigenvalues/eigenvectors
[V,D] = eig(C);
% 5: sort eigenvalues
D=diag(D);
[D,ind]=sort(D,'descend');
V = V(:,ind);
% 6: transform matrix
A = V(:,1:2);
% 6: transformation
Y = A'*B;
% 7: plot
figure, scatter(Y(1,:),Y(2,:),[],l)


%% Eseguire PCA usando un numero M di componenti
% tali che mi codifichino il 95% di informazione
