老师的数据处理过程

A=importdata('/home/godl/Desktop/Dongyuan/Isolet.txt');
A(:,1)=[];
%计算相关系数的函数计算列与列之间的相关系数,所以需要做一下转置操作.
A=A';
W=corrcoef(A);
%因为把相关系数当做权重,则所有的负相关系数全部标为0,让它们代表之间没有连边
W(W<0)=0;
%因为h自身e不能够和hn自身连边所以处理掉对角线的数据
W=W-diag(diag(W));
[S,D]=adj2list(W);
S(:,3)=D;
dlmwrite('Isolet.edgelist',S,'precision',5,'delimiter',' ');

A2=importdata('/home/godl/Desktop/Dongyuan/TOX171.txt');
A2(:,1)=[];
%计算相关系数的函数计算列与列之间的相关系数,所以需要做一下转置操作.
A2=A2';
W2=corrcoef(A2);
%因为把相关系数当做权重,则所有的负相关系数全部标为0,让它们代表之间没有连边
W2(W2<0)=0;
%因为h自身e不能够和hn自身连边所以处理掉对角线的数据
W2=W2-diag(diag(W2));
[S2,D2]=adj2list(W2);
S2(:,3)=D2;
dlmwrite('TOX171.edgelist',S2,'precision',5,'delimiter',' ');

A3=importdata('/home/godl/Desktop/Dongyuan/Yale.txt');
A3(:,1)=[];
%计算相关系数的函数计算列与列之间的相关系数,所以需要做一下转置操作.
A3=A3';
W3=corrcoef(A3);
%因为把相关系数当做权重,则所有的负相关系数全部标为0,让它们代表之间没有连边
W3(W3<0)=0;
%因为h自身e不能够和hn自身连边所以处理掉对角线的数据
W3=W3-diag(diag(W3));
[S3,D3]=adj2list(W3);
S3(:,3)=D3;
dlmwrite('Yale.edgelist',S3,'precision',5,'delimiter',' ');

A4=importdata('/home/godl/Desktop/Dongyuan/BASEHOCK.txt');
A4(:,1)=[];
%计算相关系数的函数计算列与列之间的相关系数,所以需要做一下转置操作.
A4=A4';
W4=corrcoef(A4);
%因为把相关系数当做权重,则所有的负相关系数全部标为0,让它们代表之间没有连边
W4(W4<0)=0;
%因为h自身e不能够和hn自身连边所以处理掉对角线的数据
W4=W4-diag(diag(W4));
[S4,D4]=adj2list(W4);
S4(:,3)=D4;
dlmwrite('BASEHOCK.edgelist',S4,'precision',5,'delimiter',' ');

其中adj2list是我自己写的一个函数,目的是为了把邻接矩阵变成临接表形式,其中S矩阵代表的是无权重的临接表,其中D矩阵代表的是权重值

%把临接矩阵转换成临接表的形式
function [S,D]=adj2list(A)
n=size(A,1);
S=[];
D=[];
k=1;
for i=1:n
for j=1:n
if A(i,j)>0
S=[S;i,j];
A(j,i)=0;
D(k,1)=A(i,j);
k=k+1;
end
end
end
end

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值