我有这个密码:
TP = len(set1)
FP = len(set2)
FN = len(set3)
if FP == 0:
Score = ((2*TP)/((2*TP)+FN))
print "Warning: FP is equal 0."
elif FN == 0:
Score = ((2*TP)/((2*TP)+FP))
print "Warning: FN is equal 0"
elif TP == 0:
Score = ((2*TP)/((2*TP)+FP+FN))
print "Warning: TP is equal 0"
else:
Score = ((2*TP)/((2*TP)+FP+FN))
print " The Score is = ", Score
但由于某种原因,每次我的分数都是0。我检查了这些值,一切似乎都是正确的。有人能帮我吗??你知道吗
因为您每次都使用整数除法。不要使用
2
常量,而是使用2.0
强制python的除法返回一个float。你知道吗例如:
作为旁注,您可以在以下问题:How can I force division to be floating point? Division keeps rounding down to 0和文档:Decimals, Floats, and Floating Point Arithmetic中阅读更多关于强制浮点除法的内容
相关问题 更多 >
编程相关推荐