def run(input_dir, num_samples_per_site, onevone = True):
    input_dir = sys.argv[1]
    num_samples_per_site = int(sys.argv[2])

    target_sites = get_target_sites(input_dir)

    labels = dict(map(lambda (i, s): (s, i), enumerate(target_sites)))
    
    X, Y = load_feature_vectors(input_dir, num_samples_per_site, labels)
    #X, Y, testX, testY = select_test_set(X, Y, (num_samples_per_site / 2) * len(target_sites))


    #X = [[100.0, 100.0], [101.0, 101.0], [200.0, 200.0], [201.0, 201.0], [300.0, 301.0], [300.0, 301.0]]
    #Y = [0.0, 0.0, 1.0, 1.0, 2.0, 2.0]

    iters = select_cross_validation_subsets(X, Y, 6)

    #crange = map(lambda c: c/10.0, range(1, 11))
    #crange = map(lambda c: c/1000.0, range(1, 11))
    #crange.extend(map(lambda c: c/100.0, range(2, 11)))
    #crange = [0.00001, 0.01, 1.0, 100.0, 10000.0]
    crange = [1.0, 100.0]
    for c in crange:
        print "C=%f"%c
        print "Linear kernel:"
        for d in iters:
            trainX, testX = scale(d["train"][0], d["test"][0])
            classify(trainX, d["train"][1], testX, d["test"][1], onevone, c)
        print "RBF kernel:"
        for d in iters:
            trainX, testX = scale(d["train"][0], d["test"][0])
            classify(trainX, d["train"][1], testX, d["test"][1], onevone, c, 'rbf')
Пример #2
0
def anom_det_crossvalidate(labels, X, Y, v):
    iters = select_cross_validation_subsets(X, Y, 6)
    for d in iters:
        X = d["train"][0]
        Y = d["train"][1]
        testX = d["test"][0]
        testY = d["test"][1]
        _anom_det_test(labels, X, Y, testX, testY, v)
Пример #3
0
def multiclass_svm_crossvalidate(X, Y, labels, c):
    iters = select_cross_validation_subsets(X, Y, 6)
    crange = [0.000001, 0.00001, 0.0001, 0.001, 0.01, 0.1,
              1.0, 10.0, 100.0, 1000.0]
    for c in crange:
        print "C=%f"%c
        for d in iters:
            X = d["train"][0]
            Y = d["train"][1]
            testX = d["test"][0]
            testY = d["test"][1]
            multiclass_svm(X, Y, testX, testY, labels, c)
Пример #4
0
def monb_crossvalidate(X, Y, c, onevone):
    iters = select_cross_validation_subsets(X, Y, 6)
    #crange = [0.000001, 0.00001, 0.0001, 0.001, 0.01, 0.1,
    #          1.0, 10.0, 100.0, 1000.0]
    crange = [1.0]
    for c in crange:
        print "C=%f"%c
        for d in iters:
            X = d["train"][0]
            Y = d["train"][1]
            testX = d["test"][0]
            testY = d["test"][1]
            classify(X, Y, testX, testY, onevone, c)