def expect_margin(predictions:np.ndarray,answer:np.ndarray):
predict_sign=np.sign(predictions)
answer_sign = np.sign(answer)
margin_array=[]
for m in range(answer.shape[0]):
row=[]
for n in range(answer.shape[1]):
a=answer[m,n]
p = predictions[m,n]
p_s=predict_sign[m,n]
a_s=answer_sign[m,n]
if p_s==a_s :
row.append(min(abs(a),abs(p)))
# elif p_s!=a_s or p==0:
# row.append(-1*(abs(a)+abs(p)))
else:
#row.append(-1*abs(a))
row.append(-1 * (abs(a) + abs(p)))
margin_array.append(row)
margin_array=np.array(margin_array)
return np.sum(margin_array,0)
评论列表
文章目录