コード例 #1
0
ファイル: ItemHybridSimilarity.cs プロジェクト: panawala/cf
        public double Calculate(int itemA, int itemB)
        {
            double theta = 0.9d;
            IItemSimilarity collaborateSimilarity = new ItemCollaborativeSimilarity();
            IItemSimilarity genreSimilarity = new ItemGenreSimilarity();

            return theta * collaborateSimilarity.Calculate(itemA, itemB) + (1 - theta) * genreSimilarity.Calculate(itemA, itemB);
        }
コード例 #2
0
ファイル: ItemHybridSimilarity.cs プロジェクト: panawala/cf
        public double Calculate(int itemA, int itemB)
        {
            double          theta = 0.9d;
            IItemSimilarity collaborateSimilarity = new ItemCollaborativeSimilarity();
            IItemSimilarity genreSimilarity       = new ItemGenreSimilarity();

            return(theta * collaborateSimilarity.Calculate(itemA, itemB) + (1 - theta) * genreSimilarity.Calculate(itemA, itemB));
        }
コード例 #3
0
ファイル: ItemKNearestNeighbor.cs プロジェクト: panawala/cf
        public Dictionary<int, double> GetNNSimilarity(int itemId)
        {
            IItemSimilarity itemSimilarity = new ItemCollaborativeSimilarity();
            foreach (var otherItemId in this.allItems)
            {
                double similarity = itemSimilarity.Calculate(itemId, otherItemId);
                this.OtherItemsSimilarity.Add(otherItemId, similarity);
            }

            //do something to choose the k highest similar items
            return this.OtherItemsSimilarity;
        }