Spaces:
Sleeping
Sleeping
| import csv | |
| # Ground truth labels — what the correct verdict should be | |
| GROUND_TRUTH = { | |
| "antibiotics can cure the flu": "FALSE", | |
| "exercise reduces risk of heart disease": "TRUE", | |
| "smoking causes lung cancer": "TRUE", | |
| "vitamin C prevents colds": "MISLEADING", | |
| "vaccines cause autism": "FALSE", | |
| "obesity is linked to type 2 diabetes": "TRUE", | |
| "drinking bleach cures infections": "FALSE", | |
| "high blood pressure increases stroke risk": "TRUE", | |
| "sugar causes diabetes": "MISLEADING", | |
| "stress causes high blood pressure": "MISLEADING", | |
| } | |
| def calculate_accuracy(): | |
| with open("phase1_baseline.csv", "r") as f: | |
| reader = csv.DictReader(f) | |
| results = list(reader) | |
| correct = 0 | |
| print("\n=== ACCURACY BREAKDOWN ===") | |
| for r in results: | |
| expected = GROUND_TRUTH.get(r["claim"], "UNKNOWN") | |
| got = r["verdict"] | |
| match = "✅" if got == expected else "❌" | |
| print(f"{match} {r['claim'][:50]}") | |
| print(f" Expected: {expected} | Got: {got}") | |
| if got == expected: | |
| correct += 1 | |
| accuracy = round(correct / len(results) * 100, 1) | |
| print(f"\nAccuracy: {correct}/{len(results)} = {accuracy}%") | |
| return accuracy | |
| if __name__ == "__main__": | |
| calculate_accuracy() |