Пример #1
0
for srand in srand_list:
    preds_dev = np.loadtxt('preds_{}/best_preds_dev_0.001_srand_{}.txt'.format(
        feat_type, srand))
    coef_dev, p_std = stats.spearmanr(y_dev, preds_dev)
    print("SRAND {} - dev".format(srand), coef_dev)

    best_preds_dev.append(preds_dev)

comb_dev = np.mean((best_preds_dev), axis=0)

res_dev_t = sh.linear_trans_preds_dev(y_train=y_train, preds_dev=comb_dev)
tot_coef_dev, p_std = stats.spearmanr(y_dev, res_dev_t)

util.results_to_csv(
    file_name='exp_results/bests_comb_srand_xvecs_{}.csv'.format(feat_type),
    list_columns=['Exp. Details', 'C', 'SPE', 'STD', 'SET', 'SRAND'],
    list_values=['xvecs_srand', c, tot_coef_dev, std_flag, 'DEV', "ALL"])

# LOAD TEST PREDICTIONS
for srand in srand_list:
    preds_test = np.loadtxt('preds_{}/preds_test_0.001_srand_{}.txt'.format(
        feat_type, srand))
    coef_test, p_std = stats.spearmanr(y_test, preds_test)
    print("SRAND {} - test".format(srand), coef_test)
    print()
    best_preds_test.append(preds_test)

comb_test = np.mean((best_preds_test), axis=0)

res_test_t = sh.linear_trans_preds_test(y_train=y_train,
                                        preds_dev=comb_dev,
Пример #2
0
        std_scaler = preprocessing.StandardScaler()
        x_train = std_scaler.fit_transform(x_train)

    # PCA
    pca_flag = False
    if pca_flag == True:
        pca = PCA(n_components=0.97)
        x_train = pca.fit_transform(x_train)


    for c in list_c:
        preds, trues, posteriors = svm_fits.leave_one_out_cv(x_train, y_train.ravel(), c=c)
        acc = accuracy_score(trues, preds)
        auc = roc_auc_score(trues, preds, average='weighted')
        prec = precision_score(trues, preds)
        rec = recall_score(trues, preds)
        f1 = f1_score(trues, preds)


        # np.savetxt('exp_results/posteriors_{0}_loocv_{1}_pretrained.txt'.format(c, task), posteriors)
        # np.savetxt('exp_results/trues_{0}_loocv_{1}_pretrained.txt'.format(c, task), trues)

        file_n = os.path.basename(file_train)
        print("with", c, "-", ga, "acc:", acc, " f1:", f1, " prec:", prec, " recall:", rec, 'AUC:', auc)
        util.results_to_csv(file_name='exp_results/results_mszny_{}_{}.csv'.format(task, feat_type[0]),
                            list_columns=['Exp. Details', 'Gaussians', 'Deltas', 'C', 'Accuracy', 'F1', 'Precision',
                                          'Recall', 'AUC', 'PCA', 'STD'],
                            list_values=[os.path.basename(file_n), ga, feat_type[2], c, acc, f1, prec, rec, auc,
                                        pca_flag, std_flag])

Пример #3
0
    preds_orig = preds
    preds = sh.linear_trans_preds_dev(y_train=y_train, preds_dev=preds)
    coef, p_std = stats.spearmanr(y_dev, preds)

    dev_preds_dic['dev_{}_srand_{}'.format(c, srand)] = preds

    spear_scores.append(coef)
    print("with", c, "- spe:", coef)

# Train SVM model on the whole training data with optimum complexity and get predictions on test data
optimum_complexity = list_c[np.argmax(spear_scores)]
best_coef = np.argmax(spear_scores)
print('\nOptimum complexity: {0:.6f}'.format(optimum_complexity))
util.results_to_csv(file_name='exp_results/results_{}_{}_srand_spec.csv'.format(task, feat_type[0]),
                    list_columns=['Exp. Details', 'Gaussians', 'Deltas', 'C', 'SPE', 'STD', 'SET', 'SRAND'],
                    list_values=[os.path.basename(file_n), ga, feat_type[2], optimum_complexity, best_coef,
                                 std_flag, 'DEV', srand])
# Saving best dev posteriors
# dev_preds = svm_fits.train_svr_gpu(x_train, y_train.ravel(), X_eval=x_dev, c=optimum_complexity, nu=0.5)
# np.savetxt('preds_{}/best_preds_dev_{}_srand_{}.txt'.format(feat, optimum_complexity, srand), dev_preds)

y_pred = svm_fits.train_svr_gpu(x_combined, y_combined.ravel(), X_eval=x_test, c=optimum_complexity, nu=list_nu[0])
y_pred = sh.linear_trans_preds_test(y_train=y_train, preds_dev=preds_orig, preds_test=y_pred)
coef_test, p_2 = stats.spearmanr(y_test, y_pred)
# coef_test2 = np.corrcoef(y_test, y_pred)

print(os.path.basename(file_n), "\nTest results with", optimum_complexity, "- spe:", coef_test)
print(20*'-')
util.results_to_csv(file_name='exp_results/results_{}_{}_srand_spec.csv'.format(task, feat_type[0]),
                    list_columns=['Exp. Details', 'Gaussians', 'Deltas', 'C', 'SPE', 'STD', 'SET', 'SRAND'],
                    list_values=[os.path.basename(file_n), ga, feat_type[2], optimum_complexity, coef_test,
Пример #4
0
                                                       c=c,
                                                       X_eval=x_dev,
                                                       class_weight='balanced')
        # posteriors = svm_fits.train_rbfsvm_cpu(x_train, y_train.ravel(), c=c, X_eval=x_dev, gamma=0.55555555555555)

        # np.savetxt('/media/jose/hk-data/PycharmProjects/the_speech/data/mask/probs_mask_k{}_{}_fisher_{}.txt'.format(folds, c, kernel), posteriors)
        y_pred = np.argmax(posteriors, axis=1)
        uar = recall_score(y_dev, y_pred, average='macro')
        scores.append(uar)
        print("with", c, "-", uar)

    best_c = list_c[np.argmax(scores)]
    best_uar = np.max(scores)
    util.results_to_csv(
        file_name='exp_results/results_{}_{}.csv'.format(task, feat_type[0]),
        list_columns=['Exp. Details', 'C', 'UAR', 'STD', 'NET', 'SET'],
        list_values=[
            os.path.basename(file_n), best_c, best_uar, std_flag, net, 'DEV'
        ])

    # Train SVM model on the whole training data with optimum complexity and get predictions on test data
    optimum_complexity = list_c[np.argmax(scores)]
    print('\nOptimum complexity: {0:.6f}'.format(optimum_complexity), best_uar)

    # Saving best dev posteriors
    # dev_preds = svm_fits.train_svr_gpu(x_train, y_train.ravel(), X_eval=x_dev, c=optimum_complexity, nu=0.5)
    # np.savetxt('preds_{}/best_preds_dev_{}_srand_{}.txt'.format(feat, optimum_complexity, srand), dev_preds)
    #
    # y_pred = svm_fits.train_svr_gpu(x_combined, y_combined.ravel(), X_eval=x_test, c=optimum_complexity, nu=list_nu[0])
    # # y_pred = sh.linear_trans_preds_test(y_train=y_train, preds_dev=preds_orig, preds_test=y_pred)
    # coef_test, p_2 = stats.spearmanr(y_test, y_pred)
    # # coef_test2 = np.corrcoef(y_test, y_pred)
Пример #5
0
    # Train SVM model on the whole training data with optimum complexity and get predictions on test data
    optimum_complexity = list_c2[np.argmax(uar_scores)]
    print('\nOptimum complexity: {0:.6f}'.format(optimum_complexity))

    clf = svm.LinearSVC(C=optimum_complexity,
                        max_iter=100000,
                        class_weight='balanced')
    clf.fit(x_combined_resampled, y_combined_resampled.ravel())
    # y_pred = svm_fits.train_svr_gpu(x_combined, y_combined.ravel(), X_eval=x_test, c=optimum_complexity, nu=list_nu[0])
    # y_pred = sh.linear_trans_preds_test(y_train=y_train, preds_dev=preds_orig, preds_test=y_pred)
    test_probs = clf._predict_proba_lr(x_test)
    test_preds = np.argmax(test_probs, axis=1)
    uar_final = recall_score(y_test,
                             test_preds,
                             labels=np.unique(y_train),
                             average='macro')

    print(os.path.basename(file_n), "\nTest results with", optimum_complexity,
          "- UAR:", uar_final)
    util.results_to_csv(
        file_name='exp_results/results_{}_{}.csv'.format(task, feat_info[0]),
        list_columns=['Exp. details', 'UAR', 'PCA', 'STD'],
        list_values=[os.path.basename(file_n), uar_final, pca_flag, std_flag])

    # Inverse-transforming labels to their original (from 0,1...,4 to 1,...,5)
    # lbls_train = le.inverse_transform(y_train)
    # lbls_test = le.inverse_transform(y_test)
    # lbls_preds = le.inverse_transform(test_preds)

    # a = confusion_matrix(y_test, y_train, labels=np.unique(y_train))
    # util.plot_confusion_matrix_2(a, np.unique(y_train), 'conf2.png', cmap='Oranges', title="UAR 0.61")