擅长:python、mysql、java
<p>这是一个在合理时间内有效的代码,由于@胡安帕.阿里维拉加建议:</p>
<pre class="lang-py prettyprint-override"><code>from numba import jit
@jit(nopython = True)
def pairwise_computing(humanScores, pagerankScores):
total = 0
agree = 0
disagree = 0
for i in range(len(humanScores)-1):
for j in range(i+1, len(humanScores)):
total += 1
human = humanScores[i] - humanScores[j] #difference human judg
if human != 0:
pr = pagerankScores[i] - pagerankScores[j]#difference pagerank score
if pr != 0:
if np.sign(human) == np.sign(pr):
agree += 1 #they agree in which of the two is better
else:
disagree +=1 #they do not agree in which of the two is better
else:
continue
else:
continue
pairwise_accuracy = agree/(agree+disagree)
return(agree, disagree, total, pairwise_accuracy)
</code></pre>
<p>这是我的整个数据集(58k行)达到的时间性能:</p>
<p>每个回路7.98 s±2.78 ms(7次运行的平均值±标准偏差,每个回路1次)</p>