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
a year ago
1.6 kB
5
Indexable
Never
import csv
import re
import string

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

# Ouvrir le fichier TSV et lire les lignes
with open('CFS.tsv', 'r', newline='') as tsv_file:
    tsv_reader = csv.reader(tsv_file, delimiter='\t')
    next(tsv_reader) # sauter la ligne d'en-tête

    for row in tsv_reader:
        # Extraire les colonnes pertinentes
        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)")