def main():
    comp_range = [2, 5, 10, 20, 50, 100, 200, 500, 750, 1000, 1200, 1500, 2000]
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True)
    rbf_scores, linear_scores = runSelectKBest(X_train, X_test, y_train,
                                               y_test, comp_range)
    draw(comp_range, rbf_scores, 'rbf')
    draw(comp_range, linear_scores, 'linear')
def main():
    k_range = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=False, ifScale=True, suffix='_LDA')
    X_train_proj, X_test_proj = runMLKR(X_train, X_test, y_train, y_test)
    KNN.runKNN(X_train_proj, X_test_proj, y_train, y_test, k_range, metric='euclidean', metric_params=None,
                label='_MLKR_euclidean')
def main():
    comp_range = [0.1, 0.2, 0.3, 0.5, 0.7, 0.9]
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True)
    rbf_scores, linear_scores, dimension = runVarianceThreshold(
        X_train, X_test, y_train, y_test, comp_range)
    draw(comp_range, rbf_scores, dimension, 'rbf')
    draw(comp_range, linear_scores, dimension, 'linear')
Пример #4
0
def main():
    k_range = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
    LMNN_k_range = [2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16]
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=False, ifScale=True, suffix='_LDA')
    for i in LMNN_k_range:
        X_train_proj, X_test_proj = runLMNN(X_train, X_test, y_train, y_test, i)
        KNN.runKNN(X_train_proj, X_test_proj, y_train, y_test, k_range, metric='euclidean', metric_params=None,
        label='_LMNN_euclidean_k='+str(i))
def coarseTuning(k=5):
    C_range = np.logspace(-5, 5, 11)
    X_train, X_test, y_train, y_test = loadDataDivided()
    rbfT = tuningThread(X_train, X_test, y_train, y_test, C_range, 'rbf', k, 'coarse')
    linearT = tuningThread(X_train, X_test, y_train, y_test, C_range, 'linear', k, 'coarse')

    rbfT.start()
    linearT.start()
    rbfT.join()
    linearT.join()
def fineTuning(k=5):
    C_range_rbf = [5.0, 10.0, 20.0, 50.0]
    C_range_linear = [0.0005, 0.001, 0.002, 0.005]
    X_train, X_test, y_train, y_test = loadDataDivided()
    rbfT = tuningThread(X_train, X_test, y_train, y_test, C_range_rbf, 'rbf', k, 'fine')
    linearT = tuningThread(X_train, X_test, y_train, y_test, C_range_linear, 'linear', k, 'fine')

    rbfT.start()
    linearT.start()
    rbfT.join()
    linearT.join()
Пример #7
0
def main():
    comp_range_bh = [2, 3]
    ppl_range = [10.0, 20.0, 30.0, 40.0, 50.0]
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True)
    for ppl in ppl_range:
        print("\nppl=%0.2d\n" % (ppl))
        rbf_scores_bh, linear_scores_bh = runTSNE(X_train, X_test, y_train,
                                                  y_test, comp_range_bh, ppl,
                                                  'barnes_hut')
        draw(comp_range_bh, rbf_scores_bh, 'rbf', ppl, 'barnes_hut')
        draw(comp_range_bh, linear_scores_bh, 'linear', ppl, 'barnes_hut')
Пример #8
0
def main():
    rbf_scoresS = []
    linear_scoresS = []
    comp_range = [2, 3, 10, 20, 50, 100, 200, 500, 1000, 2000]
    neigh_range = [2, 4, 8, 16]
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True)
    for n_neigh in neigh_range:
        print('n_neigh=%d' % (n_neigh))
        rbf_scores, linear_scores = runIsomap(X_train, X_test, y_train, y_test,
                                              comp_range, n_neigh)
        rbf_scoresS.append(rbf_scores)
        linear_scoresS.append(linear_scores)
    draw(comp_range, neigh_range, rbf_scoresS, 'rbf')
    draw(comp_range, neigh_range, linear_scoresS, 'linear')
def main():
    dim_range = [40]
    k_range = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True,
                                                       ifScale=True,
                                                       suffix='')
    for dim in dim_range:
        print("dim: %d, method: LDA, metric: %s" % (dim, "euclidean"))
        X_train_proj, X_test_proj = runLDA(X_train, X_test, y_train, y_test,
                                           dim)
        KNN.runKNN(X_train_proj,
                   X_test_proj,
                   y_train,
                   y_test,
                   k_range,
                   metric='euclidean',
                   metric_params=None,
                   label=str(dim) + '_LDA_euclidean')
def main():
    #kernel_range = ['linear', 'rbf', 'poly', 'sigmoid', 'cosine']
    #dim_range = [50, 500, 2048]
    #k_range = [9]
    #metric_range = ['euclidean', 'manhattan', 'chebyshev']
    #for dim in dim_range:
    #    for metric in metric_range:
    #        if dim != 2048:
    #            for kernel in kernel_range:
    #                print("dim: %d, kernel: %s, metric: %s" % (dim, kernel, metric))
    #                X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True, ifScale=False, suffix='_' + str(dim) + '_' + kernel)
    #                KNN.runKNN(X_train, X_test, y_train, y_test, k_range, metric=metric, metric_params=None, label=str(dim) + '_' + kernel + '_' + metric + '_9')
    #        else:
    #            X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True, ifScale=False, suffix='')
    #            print("dim: %d, metric: %s" % (dim, metric))
    #            KNN.runKNN(X_train, X_test, y_train, y_test, k_range, metric=metric, metric_params=None, label=str(dim) + '_' + metric + '_9')

    k_range = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
    #for dim in dim_range:
    #if dim != 2048:
    #    for kernel in kernel_range:
    #        print("dim: %d, kernel: %s, metric: %s" % (dim, kernel, "cosine"))
    #        X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True, ifScale=False, suffix='_' + str(dim) + '_' + kernel)
    #        KNN.runKNN(X_train, X_test, y_train, y_test, k_range, metric=cosine, metric_params=None, label=str(dim) + '_' + kernel + '_cosine1')
    #else:
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=False,
                                                       ifScale=False,
                                                       suffix='')
    print("dim: %d, metric: %s" % (2048, "cosine"))
    KNN.runKNN(X_train,
               X_test,
               y_train,
               y_test,
               k_range,
               metric=cosine,
               metric_params=None,
               label=str(2048) + '_cosine1')
Пример #11
0
def main():
    comp_range = [2, 3, 5, 10, 20, 30, 40]
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True)
    rbf_scores, linear_scores = runLDA(X_train, X_test, y_train, y_test, comp_range)
    draw(comp_range, rbf_scores, 'rbf')
    draw(comp_range, linear_scores, 'linear')
def main():
    comp_range = [2, 4, 8, 16, 32, 64]
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True)
    rbf_scores, linear_scores, dimension = runTreeBasedSelection(X_train, X_test, y_train, y_test, comp_range)
    draw(comp_range, rbf_scores, dimension, 'rbf')
    draw(comp_range, linear_scores, dimension, 'linear')
Пример #13
0
def main():
    comp_range = [50, 500]
    X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=False)
    for kernel in ['linear', 'poly', 'rbf', 'sigmoid', 'cosine']:
        print("kernel: %s" % (kernel))
        runPCA(X_train, X_test, comp_range, kernel)
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
from sklearn.svm import SVC
import sys
sys.path.append("..")
from processData import loadDataDivided
import SVMmodel

X_train, X_test, y_train, y_test = loadDataDivided(ifSubDir=True)
X_train_size = X_train.shape[0]
lr = 0.001
epochs = 1000
batch_size = 256
display_step = 1
n_input = 2048
weights = None
biases = None
data_pointer = 0


def getNextBatch(batch_size):
    global data_pointer
    if data_pointer + batch_size <= X_train_size:
        data_pointer += batch_size
        return X_train[data_pointer - batch_size:data_pointer], y_train[
            data_pointer - batch_size:data_pointer]
    else:
        return X_train[data_pointer:], y_train[data_pointer:]