May 2012
MTWTFSS
«Mar  
 123456
78910111213
14151617181920
21222324252627
28293031 

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>