function [ thisauc ] = HPI( train, test )
%% 計(jì)算HPI指標(biāo)并返回AUC值
? ? sim = train * train;? ? ?
? ? % 完成分子的計(jì)算响巢,分子同共同鄰居算法
? ? deg_row = repmat(sum(train,1), [size(train,1),1]);
? ? deg_row = deg_row .* spones(sim);%這一行結(jié)果是節(jié)點(diǎn)度矩陣?棒妨?踪古?
? ? deg_row = min(deg_row, deg_row');?? 【?deg_row = max(deg_row, deg_row'); %對于HDI僅在此有不同】
? ? % 完成分母的計(jì)算,其中元素(i,j)表示取了節(jié)點(diǎn)i和節(jié)點(diǎn)j的度的最小值
? ? sim = sim ./ deg_row; clear deg_row;? ? ?%券腔?伏穆?每個函數(shù)里邊這里清空?纷纫?
? ? % 完成相似度矩陣的計(jì)算
? ? sim(isnan(sim)) = 0; sim(isinf(sim)) = 0;
? ? thisauc = CalcAUC(train,test,sim, 10000);?
? ? % 評測枕扫,計(jì)算該指標(biāo)對應(yīng)的AUC
end