gpt4 book ai didi

MATLAB:重新排列特征矩阵

转载 作者:行者123 更新时间:2023-11-30 09:00:13 25 4
gpt4 key购买 nike

我有一个大小为 ~1M x 3 的特征矩阵,其中列为 doc#,wordID#,wordcount

在 Matlab 中,有什么快速方法可以重新排列此特征矩阵,使其取代大小#docs x # unique Words

(长度(唯一(特征矩阵(:,1))) x 长度(唯一(特征矩阵(:,2)))

这样每一行代表整个文档,每一列代表一个不同的单词,并且值是原始矩阵第三列的wordcounts

我开始编写一堆循环,但感觉可能有一些简短的惯用方法已经内置于 Matlab 中。

最佳答案

您实际上可以使用accumarray为了实现这个目标

data = [1, 1, 1;
1, 2, 2;
1, 5, 3;
2, 1, 4;
2, 3, 5];

result = accumarray(data(:,1:2), data(:,3))
% 1 2 0 0 3
% 4 0 5 0 0

或者你可以使用稀疏

result = full(sparse(data(:,1), data(:,2), data(:,3)))

关于MATLAB:重新排列特征矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43098207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com