The pooled covariance matrix of TRAINING must be positive definite.
조회 수: 8 (최근 30일)
이전 댓글 표시
clc
clear all
load featurs_T
load featurs_S
load Group_Train
load Group_Test
cv_x=cov(Feat1);
[V,D] = eig(cv_x);
d=diag(D);
d=d(end:-1:1);
sm_d=cumsum(d) /sum(d);
idx=find(sm_d>0.99);
T=[V(:,end:-1:idx(1))]';
new_feat1=T*Feat1';
%TrainingSet= new_feat1';
new_feat2=T*Feat2';
%TestSet= new_feat2';
TrainingSet = new_feat1';
TestSet = new_feat2';
Group_Train1 = Group_Train1';
Group_Test1 = Group_Test1';
%------------------------
% result1= multisvm(TrainingSet,Group_Train1,TestSet,Group_Test1);
result1= classify(TestSet,TrainingSet,Group_Train1,'linear');
testresult = result1;
Accuracy = mean(Group_Test1==result) * 100;
fprintf('Accuracy = %.2f\n', Accuracy);
fprintf('error rate = %.2f\n ', mean(result ~= Group_Test1 ) * 100);
Error using classify (line 233)
The pooled covariance matrix of TRAINING must be positive definite.
Error in HOG2 (line 31)
result1= classify(TestSet,TrainingSet,Group_Train1,'linear');
댓글 수: 5
채택된 답변
Matt J
2022년 1월 23일
I suggest you calculate the pooled covariance matrix and verify whether the error message is accurate.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!