基于路径【LP、Katz、LHNII】

2018-11-26  本文已影响0人  穿靴子的M

LocalPath( train, test, lambda )

lambda 对应截图中的α

function [ thisauc ] = LocalPath( train, test, lambda )

%% 计算LP指标并返回AUC值

    sim = train*train;   

    % 二阶路径

    sim = sim + lambda * (train*train*train); 

    % 二阶路径 + 参数×三节路径

    thisauc = CalcAUC(train,test,sim, 10000); 

    % 评测,计算该指标对应的AUC

end


Katz( train, test, lambda )

function [ thisauc ] = Katz( train, test, lambda )

%% 计算katz指标并返回AUC值

    sim = inv( sparse(eye(size(train,1))) - lambda * train); 【inv取逆】

 lambda对应图中β

    % 相似性矩阵的计算

    sim = sim - sparse(eye(size(train,1)));

    thisauc = CalcAUC(train,test,sim, 10000); 

    % 评测,计算该指标对应的AUC

end


存疑:LHNII( train, test, lambda ) 

function [ thisauc ] = LHNII( train, test, lambda )

%% 计算LHN2指标并返回AUC值

    M = nnz(train)/2;

    % 网络中的边数

    D = sparse(eye(size(train,1)));                               

    D(logical(D)) = sum(train,2); 【把D中非零处对应位置的sum中的值存入D中】

    % 生成度矩阵 (对角线元素为同下标,所以认为是节点)

    D = inv(D); 

    % 求度矩阵的逆矩阵

    maxeig = max(eig(train)); 【最大特征值φλ1】

    % 求邻接矩阵的最大特征值

    tempmatrix = (sparse(eye(size(train,1))) - lambda/maxeig * train);【lambda对应定义中的φ】

    tempmatrix = inv(tempmatrix);

    sim = 2 * M * maxeig * D * tempmatrix * D;  clear D tempmatrix;

    % 完成相似度矩阵的计算

    thisauc = CalcAUC(train,test,sim, 10000);   

    % 评测,计算该指标对应的AUC

end

上一篇 下一篇

猜你喜欢

热点阅读