我实现了一个算法,从书目数据中返回一个具有相似记录的列表。你知道吗
def Find_top(rank,structure, cp):
global contadorGrupos
global contadorValor
datos=[]
for clave in rank:
aux=[]
vectorName=[]
if clave["Analizado"]==0:
for x in structure:
if clave["Name"]!=x["Name"]:
if x["Analizado"]==0:
jac=jaccard_similarity(clave["Name"],x["Name"])
if jac > 0.4:
jar=jellyfish.jaro_winkler(unicode(clave["Name"], 'utf-8'),unicode(x["Name"], 'utf-8'))
valor=(jac+jar)/2
if valor > 0.5:
if cp=="Authors":
if valor> 0.8 and Comparador(clave["Name"], x["Name"])==1:
if Verificar_Key(clave["Afiliation"], x["Afiliation"])>0.7:
aux.append(x)
vectorName.append(x["Name"])
x["Analizado"]=1
else:
if cp == "Afiliation":
if valor >= 0.983 :
aux.append(x)
vectorName.append(x["Name"])
x["Analizado"]=1
else:
if valor >= 0.93:
aux.append(x)
vectorName.append(x["Name"])
x["Analizado"]=1
clave["Analizado"]=1
aux = aux+BuscarParecidos(vectorName,structure, cp)
BuscarT(vectorName, rank)
if len(aux)!=0:
contadorGrupos = contadorGrupos + 1
aux.append(clave)
datos.append(aux)
contadorValor = contadorValor + 1
return datos
BuscarParecidos所在位置:
def BuscarParecidos(vector, lista , cp):
vectorAuxiliar=[]
nombres=[]
for ax in vector:
for i in lista:
if i["Analizado"]==0:
if not i["Name"] in vector:
vx=jaccard_similarity(ax,i["Name"])
vy=jellyfish.jaro_winkler(unicode(ax, 'utf-8'),unicode(i["Name"], 'utf-8'))
vt=(vx+vy)/2
if cp=="Authors":
if vt > 0.8 and Comparador(ax,i["Name"])==1:
i["Analizado"]=1
vectorAuxiliar.append(i)
nombres.append(i["Name"])
else:
if cp == "Afiliation":
if vt >= 0.983:
i["Analizado"]=1
vectorAuxiliar.append(i)
nombres.append(i["Name"])
else:
if vt >= 0.93:
i["Analizado"]=1
vectorAuxiliar.append(i)
nombres.append(i["Name"])
vector = vector + nombres
return vectorAuxiliar
jaccard_similarity
是我自己的算法,jaro_winkler
由水母库实现。你知道吗
问题是,当我用python3.4运行算法时,它在40秒内完美运行,大约有3310条记录。但是当我用python2.7运行算法时,需要4分零几秒才能完成。我不明白为什么会这样。你知道吗
是的,我也面对过 我想说Ipython在算法方面更好
大部分答案你都会在这里得到 https://www.quora.com/What-is-the-difference-between-IPython-and-Python
祝你好运。你知道吗
请记住,Python2.7就像祖父一样,所以它会很慢,但更健壮和可靠
相关问题 更多 >
编程相关推荐