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'.
