コード例 #1
0
        public SimilarMovie[] GetSimilarMovies(Movie m, int count)
        {
            BestKeeper <SimilarMovie> best = new BestKeeper <SimilarMovie>(count,
                                                                           (s1, s2) => Math.Sign(s2.Similarity - s1.Similarity));

            foreach (var other in Movies)
            {
                if (other == m)
                {
                    continue;
                }
                SimilarMovie sM = new SimilarMovie(other, SimilarityPearson(m, other));
                best.Add(sM);
            }
            return(best.ToArray());
        }
コード例 #2
0
        public SimilarUser[] GetSimilarUsers(User u, int count)
        {
            BestKeeper <SimilarUser> best = new BestKeeper <SimilarUser>(count,
                                                                         (s1, s2) => Math.Sign(s2.Similarity - s1.Similarity));

            //BestKeeper<SimilarUser> worst = new BestKeeper<SimilarUser>( count,
            //                                        (s1,s2) => Math.Sign( s1.Similarity - s2.Similarity ) );
            foreach (var other in Users)
            {
                if (other == u)
                {
                    continue;
                }
                SimilarUser sU = new SimilarUser(other, SimilarityPearson(u, other));
                best.Add(sU);
            }
            return(best.ToArray());
        }