美文网首页
基于路径【LP、Katz、LHNII】

基于路径【LP、Katz、LHNII】

作者: 穿靴子的M | 来源:发表于2018-11-26 22:02 被阅读0次

    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

    相关文章

      网友评论

          本文标题:基于路径【LP、Katz、LHNII】

          本文链接:https://www.haomeiwen.com/subject/ynueqqtx.html