コード例 #1
0
def nearest_neighbor(user, users_data, measure):
    """Finds a list of users that are nearest to a given user.

    Args:
        user: the reviewerID of the user that we want to recommend items to
        users_data: the complete datastore of ratings
        measure: the distance measure to use
            if 1:   Adjusted cosine similarity
            if 2:   Cosine similarity
            if 3:   Pearson correlation
            if 4:   Manhattan distance
            if 5:   Euclidean distance

    Return:
        A sorted list of users based on their distance to the input user
    """
    distances = []

    for u in users_data:
        if u != user:
            if measure == 1:
                distance = measures.adjusted_cosine_similarity(
                    users_data[user], users_data[u])
            elif measure == 2:
                distance = measures.cosine_similarity(users_data[user],
                                                      users_data[u])
            elif measure == 3:
                distance = measures.pearson_correlation(
                    users_data[user], users_data[u])
            elif measure == 4:
                distance = measures.manhattan_distance(users_data[user],
                                                       users_data[u])
            elif measure == 5:
                distance = measures.euclidean_distance(users_data[user],
                                                       users_data[u])
            else:
                "ERROR! The similarity measure doesn't exist!"
            distances.append((u, distance))

    distances.sort(key=lambda itemTuple: itemTuple[1], reverse=True)

    return distances
コード例 #2
0
ファイル: main.py プロジェクト: patiljeevanr/recommEngine
def nearest_neighbor(user, users_data):
    """Finds a list of users that are nearest to a given user.

    Args:
        user: the reviewerID of the user that we want to recommend items to
        users_data: the complete datastore of ratings

    Return:
        A sorted list of users based on their distance to the input user
    """
    distances = []

    for u in users_data:
        if u != user:
            distance = measures.adjusted_cosine_similarity(users_data[user], users_data[u])
            distances.append((u, distance))

    distances.sort(key=lambda itemTuple: itemTuple[1], reverse=True)

    return distances
コード例 #3
0
def nearest_neighbor(user, users_data, measure):
    """Finds a list of users that are nearest to a given user.

    Args:
        user: the reviewerID of the user that we want to recommend items to
        users_data: the complete datastore of ratings
        measure: the distance measure to use
            if 1:   Adjusted cosine similarity
            if 2:   Cosine similarity
            if 3:   Pearson correlation
            if 4:   Manhattan distance
            if 5:   Euclidean distance

    Return:
        A sorted list of users based on their distance to the input user
    """
    distances = []

    for u in users_data:
        if u != user:
            if measure == 1:
                distance = measures.adjusted_cosine_similarity(users_data[user], users_data[u])
            elif measure == 2:
                distance = measures.cosine_similarity(users_data[user], users_data[u])
            elif measure == 3:
                distance = measures.pearson_correlation(users_data[user], users_data[u])
            elif measure == 4:
                distance = measures.manhattan_distance(users_data[user], users_data[u])
            elif measure == 5:
                distance = measures.euclidean_distance(users_data[user], users_data[u])
            else:
                "ERROR! The similarity measure doesn't exist!"
            distances.append((u, distance))

    distances.sort(key=lambda itemTuple: itemTuple[1], reverse=True)

    return distances