【发布时间】:2011-08-20 21:23:30
【问题描述】:
我跑
Y_testing_obtained = classify(X_testing, X_training, Y_training);
我得到的错误是
Error using ==> classify at 246
The pooled covariance matrix of TRAINING must be positive definite.
X_training 是 1550 x 5 矩阵。你能告诉我这个错误是什么意思,即它为什么会出现,以及如何解决它? 谢谢
【问题讨论】:
-
也提到其他变量的维度。 X_testing、X_training 需要有相同的列数,X_training、Y_training 需要有相同的行数。
-
Classify 正在根据您提供的值创建协方差矩阵。关键是 X_training 和 Y_training 必须正确设置。 X_training 构建协方差矩阵,所以在担心 X_testing 之前确保它是正确的。
-
如果您的训练数据矩阵中有 NaN 值,它可能会产生正定误差
标签: matlab classification