Exemple #1
0
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()
Exemple #2
0
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()
Exemple #3
0
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)