POI recommendation algorithm
The algorithm presented here is a POI recommendation based on location similarity.
The algorithm is very simple and very effective in some data scenarios.
The basic idea is:
Treat the POI name as a label
A group of users interested in a location, then some of the group of users interested in other locations may be similar to the location;
Algorithm Flow:
1) Enter location A, user collection x, place set y, user and location relationship set
2) Find a subset of users interested in a U;
We can roughly think that a user went to location a more times than a threshold, he was interested in a
3) Find the locations where users are interested in U, and make a subset of the locations
4) Calculate the similarity of elements E and a in a respectively
SIM = | U has been to E number of times | /sqrt (| Number of visitors to a in X | * | Number of trips to E in X |)
There was a number of visitors,
5) Sort the elements in a from large to small by SIM, take the largest n locations of the SIM as a similar subset of locations s
6) Output S
That way, if a user is already interested in location A, you can recommend a place in s where he hasn't been.
Reference:
Http://en.wikipedia.org/wiki/Cosine_similarity
Http://en.wikipedia.org/wiki/Jaccard_index
POI recommendation algorithm