如何解决为什么PCA返回空的Coeff和得分?
我正在将PCA应用于由2340个(不包括标签的)要素和2245个记录(2245X2340双矩阵)组成的数据集,以降低其高维性并选择至少50个要素以在Matlab上使用以下代码进行进一步的分类过程:
[coeff,score,~,mu] = pca(X);
save("coeff.mat","coeff");
reducedDimension = coeff(:,1:50);
reducedData = X * reducedDimension;
但是在断点的第一行,它只是返回系数并得分为空:
并且到达第三行时出现此错误:
问题出在哪里? 其次,这种使用PCA(上面的代码)减少尺寸的方法正确吗?
解决方法
这是因为您的数据集中有 NAN。首先,您必须将 NAN 转换为数值,以便数据的数值行为保持不变。 为此,只需在应用 PCA 之前在代码中添加以下行:
data(isnan(data))=0;
这将为所有 NAN 值分配 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。