def main_people():
    """ Main function """

    X_img_train, x_train, y_train, X_img_test, x_test, y_test = people_dataset('data')
    people_visualization(X_img_train, y_train)

    svm_alg = SVM(n_epochs=100, lambDa=0.001, use_bias=True)

    # train
    svm_alg.fit_gd(x_train, y_train, verbose=True)

    # test
    predictions = svm_alg.predict(x_test)

    accuracy = float(np.sum(predictions == y_test)) / y_test.shape[0]
    print('Test accuracy: {}'.format(accuracy))

    people_visualize_prediction(X_img_test, y_test, predictions)
Esempio n. 2
0
def main_people_classification():
    """
    Main function to perform people vs non people classification with SVM.
    """

    X_img_train, X_feat_train, Y_train, X_img_test, X_feat_test, Y_test = people_dataset('data')

    C = 100
    kernel = 'rbf'

    model = svm.SVC(C=C, kernel=kernel)
    model.fit(X_feat_train, Y_train)

    Y_pred = model.predict(X_feat_test)

    print('Error: {}'.format(float(np.sum(Y_pred != Y_test))/len(Y_test)))

    visualize_predictions(X_img_test, Y_test, Y_pred)
Esempio n. 3
0
def main_people():
    """ Main function """

    #x_train, y_train, x_test, y_test = gaussians_dataset(2, [100, 150], [[1, 3], [-4, 8]], [[2, 3], [4, 1]])
    X_img_train, x_train, y_train, X_img_test, x_test, y_test = people_dataset(
        'data')
    people_visualization(X_img_train, y_train)

    svm_alg = AdaBoost(n_classifiers=6, use_bias=True, Base_Classifier=SVM)

    # train
    svm_alg.fit_gd(x_train, y_train, verbose=True)

    # test
    predictions = svm_alg.predict(x_test)

    accuracy = float(np.sum(predictions == y_test)) / y_test.shape[0]
    print('Test accuracy: {}'.format(accuracy))

    people_visualize_prediction(X_img_test, y_test, predictions)