コード例 #1
0
ファイル: knn.py プロジェクト: KellyChan/python-examples
def cross_validate(X_train, Y_train, folds, k_list):
    classifier = KNearestNeighbor()
    classifier.train(X_train, Y_train)

    k_to_accuracies = classifier.cross_validate(folds, k_list)
    for k in k_list:
        accuracies = k_to_accuracies[k]
        plt.scatter([k] * len(accuracies), accuracies)

    accuracies_mean = np.array([np.mean(v) for k, v in sorted(k_to_accuracies.items())])
    accuracies_std = np.array([np.std(v) for k, v in sorted(k_to_accuracies.items())])
    plt.errorbar(k_list, accuracies_mean, yerr=accuracies_std)
    plt.title("Cross-Validation on k")
    plt.xlabel('k')
    plt.ylabel('Cross-Validation accuracy')
    plt.show()
コード例 #2
0
ファイル: knn.py プロジェクト: KellyChan/python-examples
def k_classifier(X_train, Y_train, X_test, Y_test, k):
    classifier = KNearestNeighbor()
    classifier.train(X_train, Y_train)
    Y_test_predictions = classifier.predict(X_test, k=k, distance_type='euclidean_no_loop')
    accuracy = classifier.eval_accuracy(Y_test, Y_test_predictions)
    return [accuracy, Y_test_predictions]
コード例 #3
0
ファイル: knn.py プロジェクト: KellyChan/python-examples
def compare_distances(X_train, Y_train, X_test):
    classifier = KNearestNeighbor()
    classifier.train(X_train, Y_train)

    classifier.eval_distances(X_test)
コード例 #4
0
ファイル: knn.py プロジェクト: KellyChan/python-examples
def compare_time(X_train, Y_train, X_test):
    classifier = KNearestNeighbor()
    classifier.train(X_train, Y_train)

    classifier.eval_time(X_test)
コード例 #5
0
ファイル: knn.py プロジェクト: KellyChan/python-examples
def predict_with_distances(X_train, Y_train, X_test, Y_test):

    classifier = KNearestNeighbor()
    classifier.train(X_train, Y_train)

    Y_test_predictions = classifier.predict(X_test, k=1, distance_type='manhattan_two_loops')
    classifier.eval_accuracy(Y_test, Y_test_predictions)

    Y_test_predictions = classifier.predict(X_test, k=1, distance_type='manhattan_one_loop')
    classifier.eval_accuracy(Y_test, Y_test_predictions)

    Y_test_predictions = classifier.predict(X_test, k=1, distance_type='manhattan_no_loop')
    classifier.eval_accuracy(Y_test, Y_test_predictions)

    Y_test_predictions = classifier.predict(X_test, k=1, distance_type='euclidean_two_loops')
    classifier.eval_accuracy(Y_test, Y_test_predictions)

    Y_test_predictions = classifier.predict(X_test, k=1, distance_type='euclidean_one_loop')
    classifier.eval_accuracy(Y_test, Y_test_predictions)

    Y_test_predictions = classifier.predict(X_test, k=1, distance_type='euclidean_no_loop')
    classifier.eval_accuracy(Y_test, Y_test_predictions)