Exemple #1
0
    knn_misclassification_rate = np.zeros(3)
    for index, k in enumerate([1, 5, 10]):
        knn = sklearn.neighbors.KNeighborsClassifier(n_neighbors=k)
        knn.fit(X_train, y_train)
        knn_result = knn.predict(X_test)
        knn_misclassification_rate[index] = np.mean(knn_result != y_test)
    plt.figure()
    plt.plot(1 / np.array([1, 5, 10]), knn_misclassification_rate, "-bo")
    plt.suptitle("Misclassification rate v.s. 1/k of KNN")
    plt.show()
    print(knn_misclassification_rate)

    # Question 5 #

    k_nearest_neighbors = KNearestNeighbors(1)
    k_nearest_neighbors.fit(X_train, y_train)
    knn_result = k_nearest_neighbors.predict(X_test)
    knn_naive_misclassification_rate = np.mean(knn_result != y_test)
    print(knn_naive_misclassification_rate)

    # Question 7 #
    w_knn_misclassification_rate = np.zeros(3)
    for index, k in enumerate([1, 5, 10]):
        knn = WeightedKNearestNeighbors(n_neighbors=k)
        knn.fit(X_train, y_train)
        knn_result = knn.predict(X_test)
        w_knn_misclassification_rate[index] = np.mean(knn_result != y_test)
    plt.figure()
    plt.plot(1 / np.array([1, 5, 10]), w_knn_misclassification_rate, "-bo")
    plt.suptitle("Misclassification rate v.s. 1/k of weighted KNN")
    plt.show()