Jaccard

Jaccard( train, test )


存疑:

 保留分子不为0对应的元素;

 节点x与y并集的元素数目 = x与y的度之和【为什么必须先有共同邻居??】 - 交集的元素数目【共同邻居】


function [ thisauc ] = Jaccard( train, test )

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

    sim = train * train; 


    % 完成分子的计算,分子同共同邻居算法

    deg_row = repmat(sum(train,1), [size(train,1),1]);

    %sum(X,1)计算列和,repmet在列上扩展1倍,行上扩展size(train,1)倍

每列之和,因此也对应于每个节点的度



   不懂???

 deg_row = deg_row .* spones(sim);  %这一行结果是节点度矩阵???                           

    % 只需保留分子不为0对应的元素????

    deg_row = triu(deg_row) + triu(deg_row');     

% 计算节点对(x,y)的两节点的度之和????  
deg_row节点对(x,y)的两节点的度之和

    sim = sim./(deg_row.*spones(sim)-sim); clear deg_row; 

    % 计算相似度矩阵 节点x与y并集的元素数目 = x与y的度之和【xy必须有共同邻居】 - 交集的元素数目??

    sim(isnan(sim)) = 0; sim(isinf(sim)) = 0;

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

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

end

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容