February 2012
MTWTFSS
«Mar  
 12345
6789101112
13141516171819
20212223242526
272829 

LINEAR DISCRIMINANT ANALYSIS (LDA) Matlab Source Code

Source code dibawah ini ditulis dengan Mathwotks Matlab Versi 6.1 dan merupakan implementasi dari pembahasan pada artikel terdahulu tentang LINEAR DISCRIMINANT ANALYSIS (LDA).

% LDA_USA.m
% Untuk mengklasifikasi vektor input (X1 dan X2) ke dalam 2 kelas output (1/baik dan 2/buruk)
% by:Unggul_USA
clear;clc;close all;
X = [ 2.95 6.63 ;2.53 7.79 ;3.57 5.65 ;3.16 5.47 ;2.58 4.46 ;2.16 6.22 ;3.27 3.52 ];
Y = [ 1 ;1 ;1 ;1 ;2 ;2 ;2 ];
x1 = [ 2.95 6.63 ;2.53 7.79 ;3.57 5.65 ;3.16 5.47 ];
x2 = [ 2.58 4.46 ;2.16 6.22 ;3.27 3.52 ];
x3 = [ 2.81 5.46 ];

%plot data awal
plot(x1(:,1),x1(:,2),’bd’,x2(:,1),x2(:,2),’ms’,x3(:,1),x3(:,2),’r^’),axis([0.00 4.00 0.00 9.00])

P1 = 4/7 ;P2 = 3/7 ;
u1=mean(x1);u2=mean(x2);u = mean(X);
[kl,br] = size ( x1 );
x1o = zeros(size(x1));
x2o = zeros(size(x2));
for i = 1:br
for j = 1:kl
x1o(j,i) = x1(j,i) –u(i);
end
end
[kl,br] = size ( x2 );
for i = 1:br
for j = 1:kl
x2o(j,i) = x2(j,i) –u(i);
end
end
c1 = cov(x1o);
c2 = cov(x2o);
C = zeros(size(c1));
[kl,br] = size ( c1 );
for i = 1:br
for j = 1:kl
C(j,i) = c1(j,i)*4/7 + c2(j,i)*4/7;
end
end
Ci = inv(C);
m1minm2 = transpose(u1 –u2);
m1plsm2 = u1 + u2;
W = Ci * m1minm2;
Wo= –lognpdf(P2/P1)*0.5*((m1plsm2)*W);

[kl,br] = size ( x1 );
k1f = zeros(size(x1));
k2f = zeros(size(x2));
k3f = zeros(size(x3));
for j = 1:kl
k1f(j,1) = (( u1 * Ci) * transpose(x1(j,:))) –0.5 * (( u1 * Ci) * transpose(u1)) + lognpdf(4) ;
k1f(j,2) = (( u2 * Ci) * transpose(x1(j,:))) –0.5 * (( u2 * Ci) * transpose(u2)) + lognpdf(3) ;
end
[kl,br] = size ( x2 );
for j = 1:kl
k2f(j,1) = (( u1 * Ci) * transpose(x2(j,:))) –0.5 * (( u1 * Ci) * transpose(u1)) + lognpdf(4) ;
k2f(j,2) = (( u2 * Ci) * transpose(x2(j,:))) –0.5 * (( u2 * Ci) * transpose(u2)) + lognpdf(3) ;
end
[kl,br] = size ( x3 );
k3f(1,1) = (( u1 * Ci) * transpose(x3(1,:))) –0.5 * (( u1 * Ci) * transpose(u1)) + lognpdf(4) ;
k3f(1,2) = (( u2 * Ci) * transpose(x3(1,:))) –0.5 * (( u2 * Ci) * transpose(u2)) + lognpdf(3) ;
%plot setelah transformasi lda
plot(k1f(:,1),k1f(:,2),’bd’,k2f(:,1),k2f(:,2),’ms’,k3f(:,1),k3f(:,2),’r^’);

Inlinks:

There is no matching category for 'matlab'.

Leave a Reply

  

  

  

You can use these HTML tags

<a href=""title=""><abbr title=""><acronym title=""><b><blockquote cite=""><cite><code><del datetime=""><em><i><q cite=""><strike><strong>