Esempio n. 1
0
def predict_preferred_language_by_city(k_values, cities):

    for k in k_values:
        count = 0
        for city in cities:
            new = cities.copy()
            new.remove(city)
            lan = knn_classify(k, new, city[0])
            if(lan == city[1]):
                count+=1
        print(k, "neighbor[s]:", count, "correct out of", len(cities))
    """
Esempio n. 2
0
def predict_preferred_language_by_city(k_values, cities):

    for i in k_values:
        count = 0
        for city in cities:
            temp = cities.copy()
            temp.remove(city)

            if (knn_classify(i, temp, tuple(city[0])) == city[1]):
                count += 1

        print(i, "neighbor[s]:", count, "correct out of", len(cities))
    """
Esempio n. 3
0
def predict_preferred_language_by_city(k_values, cities):
    """
    TODO
    predicts a preferred programming language for each city using above knn_classify() and 
    counts if predicted language matches the actual language.
    Finally, print number of correct for each k value using this:
    print(k, "neighbor[s]:", num_correct, "correct out of", len(cities))
    """
    for k in k_values:
        num_correct = 0
        for loc, lang in cities:
            labeled = cities.copy()
            labeled.remove((loc, lang))
            pred = knn_classify(k, labeled, loc)
            if (pred == lang):
                num_correct += 1
        print(k, "neighbor[s]:", num_correct, "correct out of", len(cities))
Esempio n. 4
0
def predict_preferred_language_by_city_scikit(k_values, cities):
    print("Output after using KNN by scikit")
    for k in k_values:
        num_correct = 0
        knn = KNeighborsClassifier(n_neighbors=k)
        for city in cities:
            new_list = cities.copy()
            new_list.remove(city)
            i, label = get_i_label(new_list)
            knn.fit(i, label)
            predicted_language = knn.predict(
                np.array([[city[0][0], city[0][1]]]))

            if predicted_language == city[1]:
                num_correct += 1

        print(k, "neighbor[s]:", num_correct, "correct out of", len(cities))
Esempio n. 5
0
def predict_preferred_language_by_city(k_values, cities):
    """
    TODO
    predicts a preferred programming language for each city using above knn_classify() and
    counts if predicted language matches the actual language.
    Finally, print number of correct for each k value using this:
    print(k, "neighbor[s]:", num_correct, "correct out of", len(cities))
    """

    for k in k_values:
        count = 0
        for city in cities:
            new_cities = cities.copy()
            new_cities.remove(city)
            new_language = knn_classify(k, new_cities, tuple(city[0]))
            if (new_language == city[1]):
                count += 1
        print(k, "neighbor[s]:", count, "correct out of", len(cities))
Esempio n. 6
0
def predict_preferred_language_by_city(k_values, cities):
    """
    TODO
    predicts a preferred programming language for each city using above knn_classify() and
    counts if predicted language matches the actual language.
    Finally, print number of correct for each k value using this:
    print(k, "neighbor[s]:", num_correct, "correct out of", len(cities))
    """
    for i in k_values:

        num_correct = 0
        for j, z in enumerate(cities):
            new_list = cities.copy()
            new_list.remove(z)
            predicted_language = knn_classify(i, new_list, z[0])
            if (predicted_language == cities[j][1]):
                num_correct = num_correct + 1
        print(i, "neighbor[s]:", num_correct, "correct out of", len(cities))
Esempio n. 7
0
def predict_preferred_language_by_city(k_values, cities):
    """
    TODO
    predicts a preferred programming language for each city using above knn_classify() and
    counts if predicted language matches the actual language.
    Finally, print number of correct for each k value using this:
    print(k, "neighbor[s]:", num_correct, "correct out of", len(cities))
    """
    #knn = KNeighborsClassifier(k_values)
    #knn.fit()

    #l = len(cities)
    for k in k_values:
        num_correct = 0
        for i in range(0, len(cities)):
            new_pts = cities.copy()
            del new_pts[i]
            output = knn_classify(k, new_pts, cities[i][0])
            if (output == cities[i][1]):
                num_correct += 1
        print(k, "neighbor[s]:", num_correct, "correct out of", len(cities))