Linear classification LDA - project line boundary

조회 수: 5 (최근 30일)
Ahmed Mostfa
Ahmed Mostfa 2016년 3월 19일
댓글: Swarnima Khadanga 2021년 4월 15일
How can I project the line obtained from linear discriminant analysis. I couldn't find how to make it despite it is easy task. I follow the materials provided online, but no one explain how to project the line and plot the data classes.
% Number of observations of each class
n1=size(c1,1)
n2=size(c2,1)
%Mean of each class
mu1=mean(c1)
mu2=mean(c2)
% Average of the mean of all classes
mu=(mu1+mu2)/2
% Center the data (data-mean)
d1=c1-repmat(mu1,5,1)
d2=c2-repmat(mu2,6,1)
% Calculate the within class variance (SW)
s1=d1'*d1
s2=d2'*d2
sw=s1+s2
invsw=inv(sw)
% in case of two classes only use v-direction of projection
v=invsw*(mu1-mu2)'
% % if more than 2 classes calculate between class variance (SB)
sb1=n1*(mu1-mu)'*(mu1-mu)
sb2=n2*(mu2-mu)'*(mu2-mu)
SB=sb1+sb2
v=invsw*SB
%
% % find eigne values and eigen vectors of the (v)
[evec,eval]=eig(v)
% Sort eigen vectors according to eigen values (descending order) and
% neglect eigen vectors according to small eigen values
% v=evec(greater eigen value)
% or use all the eigen vectors
% project the data of the first and second class respectively
y2=c2*v
y1=c1*v
unique(c1)

답변 (0개)

카테고리

Help CenterFile Exchange에서 Statistics and Machine Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by