最佳答案
使用pcares
函数来做到这一点。 pcares
代表PCA 残差:
[residuals, reconstructed] = pcares(X, ndim);
residuals
返回通过保留 n-by-p
矩阵 X
的 ndim
主成分获得的残差。 X
是数据矩阵,或包含数据的矩阵。 X
的行对应于观察结果,列是变量。 ndim
是标量,必须小于或等于 p
。 residuals
是一个与 X
大小相同的矩阵。
reconstructed
将具有基于 ndim
输入的降维数据。请注意,reconstructed
仍将处于原始维度中,即 X
。因此,您可以选择前 ndim
列,这将对应于使用 ndim
指定的特征的维数构建的特征。换句话说:
reduced = reconstructed(:,1:ndim);
因此,reduced
将包含维度缩减至 ndim
维度的数据。
小注释
您需要统计工具箱才能运行pcares
。如果不这样做,那么此方法将不起作用。
关于matlab - 如何通过降低特征维数来改进LBP算子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24805898/