import csv import matplotlib.pyplot as plt from scipy import stats import pandas as pd def plot(l): labels = ['0-10k', '10k-20k,', '20k-30k', '30k-40k', '40k-50k', '50k-60k', '60k-70k'] l = [i/15625 for i in l] l = l[:7] plt.bar(labels, l) plt.savefig('plot.png') def analyse(filename): l = [0 for i in range(10)] scores = [] count = 0 best_value = -1 with open(filename) as file: reader = csv.reader(file) header = next(reader) data = [row for row in reader] for row in data: score = row[0] best_value = max(best_value, float(score)) # print(score) ind = float(score) // 10000 ind = int(ind) l[ind] += 1 acc = row[1] index = row[2] datas = list(zip(score, acc, index)) scores.append(score) print(max(scores)) results = pd.DataFrame(datas, columns=['swap_score', 'valid_acc', 'index']) print(results['swap_score'].max()) print(best_value) plot(l) return stats.spearmanr(results.swap_score, results.valid_acc)[0] if __name__ == '__main__': print(analyse('output/swap_results.csv'))