Armadillo C++ 主成分分析

问题描述

我正在使用犰狳进行主成分分析,这样我就可以将来自麦克风阵列的 4 个输入减少到两个,因为我只有两个要使用 ICA 分离的源。

arma::mat sources(0,arma::fill::zeros);
for(int i=0;i < N; i++){
    arma::vec T(channel[i].getVSignal());
    sources.insert_cols(i,T);
}   
arma::mat coeff = princomp(sources);
std::cout << "Coeff: " << coeff << std::endl;

如果我想使用 PCA 减少源,我是否只需将系数 (C) 的前两列和矩阵与我的源 (S) 相乘,就像这样。

arma::mat R = coeff * sources.T();

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...