有人可以帮我解决这个问题。很长一段时间以来,我一直试图弄清楚这一点。
我有一个 training_Set:<1530*270400 double>
和 Test_Set:<4794*270400 double>
我正在使用线性判别分析方法
class = classify(Test_Set,Training_Set,train_label,'linear')
使用分类时出错(第 228 行)
TRAINING 的合并协方差矩阵必须是正定的。
有人可以帮我解决这个问题。很长一段时间以来,我一直试图弄清楚这一点。
我有一个 training_Set:<1530*270400 double>
和 Test_Set:<4794*270400 double>
我正在使用线性判别分析方法
class = classify(Test_Set,Training_Set,train_label,'linear')
使用分类时出错(第 228 行)
TRAINING 的合并协方差矩阵必须是正定的。
为了使 TRAINING 的协方差矩阵是正定的,您至少必须有比 中的变量更多的观察值Test_Set
。在您的情况下,您的变量(270400)似乎比观察值(1530)多得多。您可以在分类之前尝试降维。
我在这里回答了一个非常相似的问题:Matlab bug with linear discriminant analysis