我目前正在编写一个Octave程序,以便在文本正文中找到相似之处。
我有一个20,000 x 50矩阵,我需要找到余弦相似度,它将是20,000 x 20,000矩阵。
我使用octave,但它给了我一个内存堆错误。为了解决这个问题,我想把数据写入文件。
有人会建议处理一个太大而无法一次装入内存的矩阵吗?
for i=1:length(X)-1
x=i
for a=0:(i-1)
dlmwrite('test',0.00000,",",(x-1),a);
end
for j=i+1:length(X)
s = abs(dot(X(i,:),X(j,:))/norm(X(i,:))*norm(X(j,:)));
dlmwrite('test',s,",",(i-1),(j-1));
end
end