matlab实现线性判别分析如何排除方差为0的数据
How to exclude data with 0 variance in matlab implementation of Linear discriminant analysis
我正在使用 Matlab 使用 LDA 对数据进行分类。
mdl = fitcdiscr(dbimgs1,indx,'DiscrimType','linear');
C=predict(mdl,testimgs1);
我收到以下错误:
Predictor x741 has zero variance. Either exclude this predictor or set 'discrimType' to 'pseudoLinear' or 'diagLinear'.
我不想使用 'pseudoLinear' 或 'diagLinear',因为它会降低性能。如何排除零预测变量?
delete_id=[];
for id_var_chk=1:size(dbimgs1,2)
if(var(dbimgs1(:,id_var_chk))<1)
delete_id=[delete_id,id_var_chk]
end
end
循环检查每一列的方差。然后通过以下方式删除具有低方差的值:
dbimgs1(:,delete_id_1(i))=[];
我正在使用 Matlab 使用 LDA 对数据进行分类。
mdl = fitcdiscr(dbimgs1,indx,'DiscrimType','linear');
C=predict(mdl,testimgs1);
我收到以下错误:
Predictor x741 has zero variance. Either exclude this predictor or set 'discrimType' to 'pseudoLinear' or 'diagLinear'.
我不想使用 'pseudoLinear' 或 'diagLinear',因为它会降低性能。如何排除零预测变量?
delete_id=[];
for id_var_chk=1:size(dbimgs1,2)
if(var(dbimgs1(:,id_var_chk))<1)
delete_id=[delete_id,id_var_chk]
end
end
循环检查每一列的方差。然后通过以下方式删除具有低方差的值:
dbimgs1(:,delete_id_1(i))=[];