我试图在python中复制ML文件。我唯一需要的是做得更好的指标功能是什么:给定一个集合F,其中有福利吗?结果应为1或0.我正在使用矩阵700个样本x 8个特征。我想检查一个功能是否在集合F.这是我的代码。它工作,但非常缓慢。 设X为完整矩阵,X [:,i] =壮举。 F可以是空集或包含X
的特征def I (feat,F):
respuesta=[]
for i in F:
respuesta.append(np.all(i==feat))
if np.any(respuesta)==True:
result=1
elif np.any(respuesta)==False:
result=0
else:
raise ValueError('something hapens')
return(result)
答案 0 :(得分:0)
第一个明显的优化是避免两次调用np.any(respuesta)
......这个:
if np.any(respuesta)==True:
result=1
elif np.any(respuesta)==False:
result=0
return result
可以替换为
return np.any(respuesta)
但即使这样,这也需要构建整个respuesta
列表,因为一个有效的结果就足够了。所以你可以在第一个有效结果上返回True:
def I (feat,F):
for i in F:
if np.all(i==feat):
return True
return False
可能有更好的解决方案,但如果不知道F
,i
和feat
到底是什么,就很难说清楚。