Python,比较浮点是否接近整数

2024-09-27 07:35:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个程序来分析推特中的情绪。我想执行一个测试,其中我有一个tweet数据集,如下所示:

label,text  
0, blabla  
1, blablabla  
0, blablablabla  

其中标签是极性(0负1正),文本是Tweet。现在,我的程序返回的不是0或1,而是介于0.0和1.0之间的值,因此可能是0.33

为了执行测试,我查找了compare almost equal values,发现了numpy isclose,但出于某种原因,出现了一些错误

让我给你看看我得到的一些例子:

mycode: 1.0 dataset:0
mycode: 0.8 dataset:0
mycode: 0.0 dataset:0
mycode: 0.0 dataset:0
mycode: 0.5 dataset:0
mycode: 1.0 dataset:0
mycode: 1.0 dataset:0
mycode: 1.0 dataset:0
mycode: 0.0 dataset:0
mycode: 0.0 dataset:0
mycode: 0.66 dataset:0
mycode: 0.0 dataset:0
mycode: 0.33 dataset:0
mycode: 1.0 dataset:0
mycode: 0.66 dataset:0

于是我做了:

# Analyse each Tweet
for index, row in df.iloc[:15].iterrows():
   test = Feel(row['text'])
   if np.isclose(test.emotions().get('positivity'), row['label'], rtol=0.8):
       correct = correct + 1
   print("mycode: " + str(test.emotions().get('positivity')) + " dataset:" + str(row['label']));

我一共得到了正确的答案:5,但我至少应该得到9个正确的猜测,我认为问题来自rtolatol,但我不知道如何使用它。我想查一查if the guessed value + or - tolerance == the value of the dataset你能帮我吗?我的目标是将0.4设置为公差,因此如果我得到[0.0,0.4],我将其设置为0,[0.6,1]我将其设置为1


Tags: thetexttest程序getifdatasetlabel

热门问题