graph.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import matplotlib.pyplot as plt
  2. import os
  3. import csv
  4. labels = []
  5. numbers = []
  6. numEntries = 1
  7. rows = []
  8. def bar_chart(numbers, labels, pos):
  9. plt.bar(pos, numbers, color='blue')
  10. plt.xticks(ticks=pos, labels=labels)
  11. plt.title("Jeopardy Results by Model")
  12. plt.xlabel("Model")
  13. plt.ylabel("Questions Correct")
  14. plt.show()
  15. def calculatecorrect():
  16. directory = os.fsencode("./examples/jeopardy/results/")
  17. csv_reader = csv.reader(open("./examples/jeopardy/qasheet.csv", 'rt'), delimiter=',')
  18. for row in csv_reader:
  19. global rows
  20. rows.append(row)
  21. for listing in os.listdir(directory):
  22. filename = os.fsdecode(listing)
  23. if filename.endswith(".txt"):
  24. file = open("./examples/jeopardy/results/" + filename, "rt")
  25. global labels
  26. global numEntries
  27. global numbers
  28. labels.append(filename[:-4])
  29. numEntries += 1
  30. i = 1
  31. totalcorrect = 0
  32. for line in file.readlines():
  33. if line.strip() != "------":
  34. print(line)
  35. else:
  36. print("Correct answer: " + rows[i][2] + "\n")
  37. i += 1
  38. print("Did the AI get the question right? (y/n)")
  39. if input() == "y":
  40. totalcorrect += 1
  41. numbers.append(totalcorrect)
  42. if __name__ == '__main__':
  43. calculatecorrect()
  44. pos = list(range(numEntries))
  45. labels.append("Human")
  46. numbers.append(48.11)
  47. bar_chart(numbers, labels, pos)
  48. print(labels)
  49. print(numbers)