# analysis # board, trial # 200, 200 algos = ["rand ", "elem ", "sumsq", "area "] stats = [] for i in range(len(algos)): filename = f"{algos[i]}_raw2.csv" with open(filename, "r") as f: # f.readline() # avg_best,avg_worst,avg_mean board=[] for l in f: val = list(map(float, l.strip().split(','))) board += [(val)] stats += [board] n_algs = len(stats) n_boards = len(stats[0]) n_trials = len(stats[0][0]) stat_li = [] for i in range(len(algos)): tmp1 = [] for j in range(len(stats[i])): best=0 worst=999 sums=0 sumsq=0 tmp2 = [] for k in range(len(stats[i][j])): v = stats[i][j][k] best, worst, sums, sumsq = max(best, v), min(worst, v), sums+v, sumsq+v*v mean=sums/(k+1) variance=(sumsq/(k+1)-mean*mean)**.5 tmp2 += [(best,worst,mean,variance)] tmp1 += [tmp2] stat_li += [tmp1] import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = (10,8) stat_np = np.array(stat_li) best_np = stat_np[:,:,:,0] mean_best_np = np.mean(best_np, axis=1) #worst_np = stat_np[:,:,:,1] #avg_np = stat_np[:,:,:,2] #stdev_np = stat_np[:,:,:,3] for i in range(n_algs): plt.plot(range(1,n_trials+1), mean_best_np[i], label=algos[i]) plt.title("Best") plt.legend() plt.xlabel("Trials") plt.ylabel("Score") plt.savefig('fig2', bbox_inches='tight') plt.show()