def getAccs(): temp = [] for i in range(12): t = [] for j in range(32): u = [] for j in range(6): u.append([]) t.append(u) temp.append(t) # get testaccs for featIndex, featSet in enumerate(['ALL','EEG','PHY']): for dimIndex, dim in enumerate([Classificators.ContValenceClassificator(), Classificators.ContArousalClassificator()]): model = PersScript(featSet, 32, 30, dim, 1, "D:/ir-thesis/dumpedData/persScript/") model.run() for person, data in enumerate(model.accs): for modelIndex, modelData in enumerate(data[0]): temp[modelIndex][person][3*dimIndex+featIndex] = modelData[7] names = np.array(['Pearson R', 'Mutual Information', 'distance Correlation', 'Linear Regression', 'Lasso regression', 'Ridgde regression', 'SVM', 'Random Forest', 'STD', 'ANOVA', 'LDA', 'PCA']) f = open("temp.csv", 'w') for mindex, model in enumerate(temp): f.write('method;' + str(names[mindex]) + ';\n') f.write(';valence;;;arousal;;;\n') f.write('person;all;EEG;non-EEG;all;EEG;non-EEG;\n') for pindex, person in enumerate(model): f.write(str(pindex) + ';') for values in person: f.write(str(values) + ';') f.write('\n') f.write('\n\n\n') f.close()
def phyeegall(): f = open("temp.csv", 'w') # get testaccs test_accs = [] all = [] model = PersScript("ALL", 32, 30, Classificators.ContValenceClassificator(),1, "D:/ir-thesis/dumpedData/persScript/") model.run() for person in model.accs: all.append(person[0][7][7]) test_accs.append(all) all = [] model = PersScript("EEG", 32, 30, Classificators.ContValenceClassificator(),1, "D:/ir-thesis/dumpedData/persScript/") model.run() for person in model.accs: all.append(person[0][7][7]) test_accs.append(all) all = [] model = PersScript("PHY", 32, 30, Classificators.ContValenceClassificator(),1, "D:/ir-thesis/dumpedData/persScript/") model.run() for person in model.accs: all.append(person[0][7][7]) test_accs.append(all) test_accs = np.array(test_accs) avgs = np.average(test_accs, axis=1) stds = np.std(test_accs, axis=1) lbls = ['ALL','EEG','non-EEG'] genPlot(avgs, stds, lbls, 'Valence RF acc for different feat sets', 'feature Set', 'test acc', ['b','r','g'] ) print(avgs) print(stds) test_accs = [] all = [] model = PersScript("ALL", 32, 30, Classificators.ContArousalClassificator(),1,"D:/ir-thesis/dumpedData/persScript/") model.run() for person in model.accs: all.append(person[0][7][7]) test_accs.append(all) all = [] model = PersScript("EEG", 32, 30, Classificators.ContArousalClassificator(),1, "D:/ir-thesis/dumpedData/persScript/") model.run() for person in model.accs: all.append(person[0][7][7]) test_accs.append(all) all = [] model = PersScript("PHY", 32, 30, Classificators.ContArousalClassificator(),1, "D:/ir-thesis/dumpedData/persScript/") model.run() for person in model.accs: all.append(person[0][7][7]) test_accs.append(all) test_accs = np.array(test_accs) avgs = np.average(test_accs, axis=1) stds = np.std(test_accs, axis=1) lbls = ['ALL', 'EEG', 'non-EEG'] genPlot(avgs, stds, lbls, 'Arousal RF acc for different feat sets', 'feature Set', 'test acc', ['b', 'r', 'g'] ) print(avgs) print(stds) f.close()
def svm_rbf_accs(): #get testaccs test_accs = [] model = PersScript("ALL", 32, 30, Classificators.ContValenceClassificator(), "../dumpedData/persScript/") model.run() for person in model.accs: model = person[0] m = [] for metric in model: m.append(metric[7]) test_accs.append(m) test_accs = np.array(test_accs) #test_accs = test_accs[:,np.array([0,1,2,3,4,5,6,7,9,10,11])] sort_indices = np.array([0,1,2,9, 3,6,10, 4,5,7,11]) colors = ['b','b','b','b', 'r','r','r', 'g','g','g','g'] names = np.array(['R', 'MI', 'dC', 'LR', 'L1', 'L2', 'SVM', 'RF', 'STD', 'ANOVA', 'LDA', 'PCA']) names = names[sort_indices] test_accs = test_accs[:, sort_indices] avgs = np.average(test_accs, axis=0) stds = np.std(test_accs, axis=0) genPlot(avgs, stds, names, 'Accuracies of valence SVM models', 'model', 'test acc', colors ) # get testaccs test_accs = [] model = PersScript("ALL", 32, 30, Classificators.ContArousalClassificator(), "../dumpedData/persScript/") model.run() for person in model.accs: model = person[0] m = [] for metric in model: m.append(metric[7]) test_accs.append(m) test_accs = np.array(test_accs) test_accs = test_accs[:, sort_indices] #test_accs = test_accs[:, np.array([0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11])] avgs = np.average(test_accs, axis=0) stds = np.std(test_accs, axis=0) genPlot(avgs, stds, names, 'Accuracy of arousal SVM models', 'model', 'test acc', colors ) print(names)