亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#實現(xiàn)協(xié)同過濾算法的實例代碼

2020-01-24 03:12:46
字體:
供稿:網(wǎng)友
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SlopeOne
{
    public class Rating
    {
        public float Value { get; set; }
        public int Freq { get; set; }
        public float AverageValue
        {
            get { return Value / Freq; }
        }
    }
    public class RatingDifferenceCollection : Dictionary<string, Rating>
    {
        private string GetKey(int Item1Id, int Item2Id)
        {
            return (Item1Id < Item2Id) ? Item1Id + "/" + Item2Id : Item2Id + "/" + Item1Id ;
        }
        public bool Contains(int Item1Id, int Item2Id)
        {
            return this.Keys.Contains<string>(GetKey(Item1Id, Item2Id));
        }
        public Rating this[int Item1Id, int Item2Id]
        {
            get {
                    return this[this.GetKey(Item1Id, Item2Id)];
            }
            set { this[this.GetKey(Item1Id, Item2Id)] = value; }
        }
    }
     public class SlopeOne
    {       
        public RatingDifferenceCollection _DiffMarix = new RatingDifferenceCollection();  // The dictionary to keep the diff matrix
        public HashSet<int> _Items = new HashSet<int>();  // Tracking how many items totally
        public void AddUserRatings(IDictionary<int, float> userRatings)
        {
            foreach (var item1 in userRatings)
            {
                int item1Id = item1.Key;
                float item1Rating = item1.Value;
                _Items.Add(item1.Key);
                foreach (var item2 in userRatings)
                {
                    if (item2.Key <= item1Id) continue; // Eliminate redundancy
                    int item2Id = item2.Key;
                    float item2Rating = item2.Value;
                    Rating ratingDiff;
                    if (_DiffMarix.Contains(item1Id, item2Id))
                    {
                        ratingDiff = _DiffMarix[item1Id, item2Id];
                    }
                    else
                    {
                        ratingDiff = new Rating();
                        _DiffMarix[item1Id, item2Id] = ratingDiff;
                    }
                    ratingDiff.Value += item1Rating - item2Rating;
                    ratingDiff.Freq += 1;
                }
            }
        }
        // Input ratings of all users
        public void AddUerRatings(IList<IDictionary<int, float>> Ratings)
        {
            foreach(var userRatings in Ratings)
            {
                AddUserRatings(userRatings);
            }
        }
        public IDictionary<int, float> Predict(IDictionary<int, float> userRatings)
        {
            Dictionary<int, float> Predictions = new Dictionary<int, float>();
            foreach (var itemId in this._Items)
            {
                if (userRatings.Keys.Contains(itemId))    continue; // User has rated this item, just skip it
                Rating itemRating = new Rating();
                foreach (var userRating in userRatings)
                {
                    if (userRating.Key == itemId) continue;
                    int inputItemId = userRating.Key;
                    if (_DiffMarix.Contains(itemId, inputItemId))
                    {
                        Rating diff = _DiffMarix[itemId, inputItemId];
                        itemRating.Value += diff.Freq * (userRating.Value + diff.AverageValue * ((itemId < inputItemId) ? 1 : -1));
                        itemRating.Freq += diff.Freq;
                    }
                }
                Predictions.Add(itemId, itemRating.AverageValue);               
            }
            return Predictions;
        }
        public static void Test()
        {
            SlopeOne test = new SlopeOne();
            Dictionary<int, float> userRating = new Dictionary<int, float>();
            userRating.Add(1, 5);
            userRating.Add(2, 4);
            userRating.Add(3, 4);
            test.AddUserRatings(userRating);
            userRating = new Dictionary<int, float>();
            userRating.Add(1, 4);
            userRating.Add(2, 5);
            userRating.Add(3, 3);
            userRating.Add(4, 5);
            test.AddUserRatings(userRating);
            userRating = new Dictionary<int, float>();
            userRating.Add(1, 4);
            userRating.Add(2, 4);
            userRating.Add(4, 5);
            test.AddUserRatings(userRating);
            userRating = new Dictionary<int, float>();
            userRating.Add(1, 5);
            userRating.Add(3, 4);
            IDictionary<int, float> Predictions = test.Predict(userRating);
            foreach (var rating in Predictions)
            {
                Console.WriteLine("Item " + rating.Key + " Rating: " + rating.Value);
            }
        }
    }
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
久久综合九色欧美综合狠狠| 88xx成人精品| 国产特级黄色大片| 91老师片黄在线观看| 国产一区二区三区在线视频| 国产99亚洲| 亚洲第一色网| 国产在线精品一区二区中文| 国精品产品一区| 欧美日韩国产亚洲沙发| 91毛片在线观看| 国产一区二区电影在线观看| 亚洲国产成人av| 黑人巨大精品欧美一区二区奶水| 亚洲欧美电影| 亚洲天堂2017| 亚洲国产综合自拍| 日韩电影免费观看高清完整| 123区在线| 放荡的美妇在线播放| 99re亚洲国产精品| 91影视免费在线观看| 国内av一区二区| 亚洲精品美腿丝袜| 貂蝉被到爽流白浆在线观看| 成年人视频网址| av大大超碰在线| 日韩午夜免费| 色老头在线观看| 色av性av丰满av| 久久超碰亚洲| 国产精品中文久久久久久| 最新欧美色图| 国产在线精品一区二区不卡了| 黄页免费欧美| 欧美精品色一区二区三区| 亚洲综合网狠久久| 成人在线视频www| 最新av中文字幕| 日本老太婆做爰视频| 国产羞羞视频| 黄色片网站免费| 国产黄视频网站| 九九热最新视频//这里只有精品| 一区二区精品在线观看| 欧美色图中文字幕| 男女全黄做爰文章| 亚州一区二区| 50一60岁老妇女毛片| 青青草免费观看免费视频在线| 无码人妻精品一区二区三区蜜桃91| 国产精品老女人精品视频| 2020中文字字幕在线不卡| 亚洲最新视频在线| 欧美伦理影视网| 亚洲国产精品影视| 一区二区视频在线播放| 日韩视频中文字幕在线观看| heyzo高清国产精品| 精品免费国产一区二区| 99久久99热久久精品免费看| 四虎永久国产精品| 一级片在线免费观看视频| 亚洲黄色录像片| 手机看片福利视频| 亚洲男女网站| 欧美精品久久久久久久自慰| 成人盗摄视频| 久久久久久女乱国产| 天堂网2014av| 能在线看的av| 欧美日本高清视频在线观看| 亚洲电影一二三区| 久久免费国产精品1| 日韩激情一区| 无人区在线高清完整免费版 一区二| 国产三级精品网站| 99国产精品一区二区| 国产精品一区二区女厕厕| 欧美xxxx做受欧美88bbw| 久青草国产97香蕉在线视频| 欧美日韩在线另类| jizzjizz4| 盗摄系列偷拍视频精品tp| 国产精品久久久久久久久免费高清| 欧美精品一区二区三区很污很色的| 国产老头老太做爰视频| 欧美 日韩 国产 激情| 国产精品第五页| 黄色欧美成人| 国产91在线观看丝袜| 欧美精品久久久久久久久久久| 欧美一区二区少妇| 日韩欧美天堂| 天天操天天怕| 中文字幕欧美日韩一区二区三区| 真实原创一区二区影院| 久久国产精品久久| 亚洲大片精品永久免费| 久久久久久美女精品| 免费看日b视频| 日韩美女国产精品| 国语自产精品视频在线看| 久久夜色精品国产欧美乱| 99亚洲伊人久久精品影院红桃| 一级黄在线观看| 免费高清视频精品| 极品颜值美女露脸啪啪| 欧美色图一区二区| 日本大香伊一区二区三区| 成人综合国产精品| 久久av最新网址| 一二三区视频在线观看| 亚洲成人福利片| 中文字幕第80页| 麻豆精品一区二区av白丝在线| 天天影视网天天综合色在线播放| 欧美一级二级三级乱码| 日本中文字幕在线一区| 中文字幕久热精品视频在线| 国产一二三区在线观看| 天天色天天看| 国产成人精品一区二三区| 久久久久国产一区二区三区四区| 午夜视频在线免费播放| www.av日韩| a天堂中文在线官网在线| 国产麻豆精品95视频| 日韩免费av一区二区三区| 亚洲激情一区| 国产成人精品999在线观看| 日韩电影在线观看一区二区| 亚洲免费影视第一页| 亚洲欧美激情小说另类| 欧美少妇一区| 亚洲综合激情六月婷婷在线观看| 午夜在线成人av| 成人高清一区| 乱人伦精品视频在线观看| 亚洲精品中文字幕av| 国产精品视频久久| 久久一二三四区| 北条麻妃在线观看视频| 国产sm调教视频| 成 人 黄 色 片 在线播放| 成人在线免费网站| 美女扒开尿口让男人操亚洲视频网站| 日本a级片电影一区二区| 成熟丰满熟妇高潮xxxxx视频| 虎白女粉嫩尤物福利视频| 欧美日韩久久中文字幕| 波多野结衣欧美| 亚洲另类中文字| av网站有哪些| 91视频网入口| 电影一区电影二区| 草莓视频一区二区三区| 伊人久久一区二区| 亚洲国产综合久久精品小蝴蝶| 少妇aaaaa| 日韩大尺度黄色| 国产毛片毛片| 老司机av网站| 国产精品日韩精品欧美精品| 97人妻精品一区二区三区| 精品国产乱码久久久久久闺蜜| 加勒比一区二区| av一级亚洲| 欧美高清一区二区| 天堂电影一区| 国产精品久久福利| 不卡视频在线观看| 性娇小13――14欧美| 国产免费观看久久| 亚洲欧美国产精品| 久久久久久一区二区三区四区别墅| 亚洲日本青草视频在线怡红院| 91免费国产在线| 黑人巨大精品欧美一区二区桃花岛| 色综合视频一区二区三区44| 姬川优奈av一区二区在线电影| 97国产真实伦对白精彩视频8| 懂色av粉嫩av蜜臀av一区二区三区| 精品国产一区二区三区麻豆小说| 久久久久狠狠高潮亚洲精品| 乱老熟女一区二区三区| 国产美女主播视频一区| 欧美色女视频| 亚洲精品欧美一区二区三区| 亚洲一线二线三线久久久| 97久久精品国产| 色婷婷国产精品综合在线观看| 伊人久久大香线蕉成人综合网| 中文字幕永久在线| 一区精品在线| 久久久久久久激情视频| 精品国产乱码久久久久久影片| 国产一区日韩二区欧美三区| 洋洋av久久久久久久一区| 日韩激情中文字幕| 久久精品国产精品亚洲毛片| 91欧美日韩麻豆精品| 欧美老少配视频| jizz在线免费观看| 欧美一区二区三区在线观看免费| 色哟哟国产精品色哟哟| 91 视频免费观看| 9.1国产丝袜在线观看| av电影高清在线观看| 麻豆国产精品va在线观看不卡| 婷婷夜色潮精品综合在线| 97成人超碰| 黄色免费视频观看| 蜜桃视频一区二区三区在线观看| 久久精品在线观看视频| 在线精品亚洲欧美日韩国产| 夜夜躁日日躁狠狠久久88av| 久久97超碰国产精品超碰| 欧美黄色激情视频| 国产成+人+综合+亚洲欧美| 免费在线观看h| 成人18视频免费69| 无码无套少妇毛多18pxxxx| 国产欧美一区二区精品性色超碰| 成人午夜一级| 亚洲欧洲美洲国产香蕉| 日韩午夜电影| 国产在线观看www| 永久久久久久| 免费人成a大片在线观看动漫| 色网站免费在线观看| 国产精品有限公司| 欧美日韩免费一区二区三区视频| 精品无码一区二区三区| 国产精品免费网站在线观看| 日韩福利一区二区三区| 天堂网www天堂在线网| 黄色av网址在线观看| 99久久精品免费观看| 天天射天天操天天干| 公交车强行挺进岳身体| 99re热视频精品| aa日韩免费精品视频一| 国产日韩综合av| a在线观看网站| 国产乱子轮xxx农村| 91麻豆国产语对白在线观看| 免费观看亚洲视频大全| 亚洲精品高清无码视频| 国产在线国偷精品产拍免费yy| 婷婷久久综合九色综合伊人色| 4hu四虎永久在线影院成人| 99re免费99re在线视频手机版| 欧美极品aaaaabbbbb| 欧美在线1区| 国产精品旅馆在线| 污污网站在线观看| 亚洲综合清纯丝袜自拍| 99视频在线免费观看| 亚洲精品自拍第一页| 久久午夜色播影院免费高清| 国产亚洲精品美女久久久| 久久丫精品久久丫| 日本黄色一级网站| 国产直播在线| 国产精品wwwww| 中文字幕av片| 蜜桃无码一区二区三区| 欧美大片拔萝卜| jizz中国免费| 欧美日韩精品免费观看视欧美高清免费大片| 亚洲激情欧美色图| 五月婷婷久久丁香| 亚洲精品永久视频| 在线中文字幕不卡| 久久国产精品久久久久久电车| 一区二区三区在线免费播放| 亚洲国产综合在线看不卡| 激情五月综合色婷婷一区二区| 亚洲精品88| 亚洲午夜黄色| jizz性欧美2| 日韩精品1区2区3区| 亚洲欧美国产精品桃花| 性视频在线播放| 99热这里只有精品3| 精品无人国产偷自产在线| 无码人妻一区二区三区免费n鬼沢| 欧美男女视频| 免费男女羞羞的视频网站主页在线观看| 69精品国产久热在线观看| 一区二区三区免费高清视频| 稀缺小u女呦精品呦| 男人天堂成人网| 国产综合久久久久久久久久久久| 欧美极品视频一区二区三区| 亚洲综合另类小说| 精品国产_亚洲人成在线| 国产又大又黄又粗| 色偷偷888欧美精品久久久| 一区二区在线视频观看| 日本高清不卡中文字幕| 伊人影院综合在线| 91国产福利在线| 精品久久久中文字幕人妻| 国产在线天堂www网在线观看| 成人亚洲在线观看| 在线观看视频一区| 久久久亚洲欧洲日产国码aⅴ| 精品国产乱码久久久久久浪潮| 俺也去精品视频在线观看| 亚洲欧美日韩国产成人综合一二三区| 国产午夜精品久久| 丁香六月婷婷| 91九色最新地址| 中文字幕欧美日本乱码一线二线| 图片区偷拍区小说区| 天天天干夜夜夜操| 91三级在线| 亚洲天天影视| 欧洲精品视频在线观看| 日韩精品视频一区二区三区| 亚洲自拍小视频免费观看| 福利视频导航一区| 精品www久久久久奶水| 久久女同互慰一区二区三区| 中文字幕91爱爱| 无码人妻黑人中文字幕|