précision des vrais et faux positifs/négatifs

script python qui calcule la précision des vrais et faux positifs/négatifs en prenant en compte les points d'interrogation et d'exclamation
mail@pastecode.io avatar
unknown
python
2 years ago
1.5 kB
1
Indexable
Never
import csv
import re
import string

vraisPositifs = 0
vraisNegatifs = 0
fauxPositifs = 0
fauxNegatifs = 0

# Open TSV file and read rows
with open('CFS.tsv', 'r', newline='') as tsv_file:
    tsv_reader = csv.reader(tsv_file, delimiter='\t')
    next(tsv_reader) # skip header row

    for row in tsv_reader:
        # Extract relevant columns
        alignment = row[2]
        comment = row[3]
        label = row[12] if len(row) >= 13 else None
        score = 0

        if '?' in comment :
            score -= comment.count("?")
        if '!' in comment :
            score += comment.count("!")
        if score > 0 and (alignment == "In favor" or label == "In favor"):
        	vraisPositifs += 1
        if score > 0 and (alignment == "Against" or label == "Against"):
        	fauxNegatifs += 1
        if score < 0 and (alignment == "In favor" or label == "In favor"):
        	fauxPositifs += 1
        if score < 0 and (alignment == "Against" or label == "Against"):
        	vraisNegatifs += 1

        

print("vrais positifs :", vraisPositifs)
print("vrais négatifs :", vraisNegatifs)
print("faux positifs :", fauxPositifs)
print("faux négatifs :", fauxNegatifs)

print("précision positifs :", vraisPositifs/(vraisPositifs+fauxPositifs))
print("formule : vraisPositifs/(vraisPositifs+fauxPositifs)")
print("précision négatifs :", vraisNegatifs/(vraisNegatifs+fauxNegatifs))
print("formule : vraisNegatifs/(vraisNegatifs+fauxNegatifs)")