def cal_sim(model,ind1,ind2=1999):
view1 = np.load("test_v1.npy")[0:ind1]
view2 = np.load("test_v2.npy")[0:ind2]
label1 = np.load('test_l.npy')
x1 = project(model,[view1,np.zeros_like(view1)])
x2 = project(model,[np.zeros_like(view2),view2])
label2 = []
count = 0
MAP=0
for i,j in enumerate(x1):
cor = []
AP=0
for y in x2:
temp1 = j.tolist()
temp2 = y.tolist()
cor.append(pearsonr(temp1,temp2))
#if i == np.argmax(cor):
# count+=1
#val=[(q,(i*ind1+p))for p,q in enumerate(cor)]
val=[(q,p)for p,q in enumerate(cor)]
val.sort()
val.reverse()
label2.append(val[0:4])
t = [w[1]for w in val[0:7]]
#print t
for x,y in enumerate(t):
if y in range(i,i+5):
AP+=1/(x+1)
print(t)
print(AP)
MAP+=AP
#print 'accuracy :- ',float(count)*100/ind1,'%'
print('MAP is : ',MAP/ind1)
评论列表
文章目录