【发布时间】:2016-02-20 23:12:32
【问题描述】:
我想根据数值比较给一个标签。但是,标签最终不是真的。
有人可以帮我吗?
labels = []
for x,y in zip(multiply_nonspam_test, multiply_spam_test):
if x > y:
label = 0
labels.append(label)
elif x == y:
label = 2
labels.append(label)
elif x < y:
label = 1
labels.append(label)
print labels
multiply_nonspam_test: [-0.0, -5.5014525551182665, -0.0, -0.0, -0.0, -0.0, -20.347159201740993, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -5.403260528939053, -0.0, -0.0, -9.239122173401634, -0.0, -0.0, -0.0]
multiply_spam_test: [-0.0, -4.564151631270644, -0.0, -0.0, -0.0, -0.0, -13.658061604139832, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -0.0, -5.322256708105361]
标签结果(不正确):
[1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1..]
【问题讨论】:
-
为我工作。只需复制并粘贴您的代码即可:打印标签 [2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1] 很难说正是从查看您的结果来看问题出在哪里。可能单独尝试每个标签检查以解决问题。
-
在比较浮点数是否相等时要小心小错误。您可能希望实现一个“大致相等”比较,该比较仅对一定数量的数字强制相等。
-
您的代码运行良好。您一定使用了不同的列表。
标签: python python-2.7 compare python-2.x