我刚开始使用特征矩阵代数库,目的是创建一个数据集的相似矩阵,建议

I just started to use Eigen Matrix algebra library and aim to create a similarity matrix of a dataset, suggestions?

本文关键字:相似 建议 数据集 创建 一个 刚开始 特征      更新时间:2023-10-16

我试图在数据集上创建一个具有特征库的相似性矩阵。我只是将csv文件读取到特征矩阵中,但我知道作为一名matlab客户,我正在寻找类似bsxfun或通过欧几里得距离计算定义实例之间距离的东西。我如何才能获得解决方案,或者什么来源、函数可能会对我有所帮助?

假设您的样本按行存储在矩阵D中,那么您可以执行:

VectorXd N = D.rowwise().squaredNorm();
MatrixXd S = N.replicate(1,n) + N.transpose().replicate(n,1);
S.noalias() -= 2. * D * D.transpose();
S = S.array().sqrt();

这利用了CCD_ 1。noalias()语句只是对Eigen的优化。在这个产品中没有混叠的风险,因此不需要临时的。.array()语句切换到数组世界,其中所有函数都按系数应用。