Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static List<Tuple<int, double>> NearestNeighbours(int user, int k, double threshold, IDataSet data)
- {
- var userRated = data.Data[user].Keys;
- var similarity = data.Data
- .Where(u => u.Key != user && u.Value.Keys.Except(userRated).Any())
- .Select(u => new Tuple<int, double>(u.Key, data.EuclideanSimilarity(user, u.Key)))
- .Where(u => u.Item2 >= threshold)
- .OrderByDescending(x => x.Item2)
- .Take(k)
- .ToList();
- return similarity;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement