The pooled covariance matrix of TRAINING must be positive definite.
21 次查看(过去 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');
采纳的回答
Matt J
2022-1-23
I suggest you calculate the pooled covariance matrix and verify whether the error message is accurate.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Deep Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!