最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

基于地點(diǎn)相似度的POI推薦以及路徑重組【matlab】

2020-08-05 10:22 作者:這個(gè)騷年很可耐  | 我要投稿

這里設(shè)計(jì)的POI推薦算法是參考于POI推薦算法,簡(jiǎn)單來說,就是利用用戶訪問POI的頻次作為POI之間相似度的測(cè)度。

具體描述以及代碼展示如下:

  • 數(shù)據(jù)預(yù)處理

  1. 隨機(jī)抽取若干行數(shù)據(jù)

首先我們要進(jìn)行數(shù)據(jù)清洗,我們將456967行數(shù)據(jù),10000多名用戶參與的Gowalla數(shù)據(jù)進(jìn)行預(yù)處理

為避免數(shù)據(jù)的偶然性對(duì)實(shí)驗(yàn)產(chǎn)生的偏差影響,我們?cè)讷@取數(shù)據(jù)的同時(shí),隨機(jī)抽取10000行數(shù)據(jù)進(jìn)行實(shí)驗(yàn),代碼如下:

隨機(jī)抽取原始數(shù)據(jù)中的若干行


生成Excel文件后,按照用戶編號(hào)升序或者降序排列,因?yàn)樵谙旅孢^濾數(shù)據(jù)的操作中,需要利用這樣的排列結(jié)構(gòu)進(jìn)行過濾操作

? ? ?2.數(shù)據(jù)過濾

過濾掉同一個(gè)user_id下,記錄少于10行的數(shù)據(jù),這樣,保留下來的user_id,至少擁有10次訪問Poi的簽到數(shù)據(jù)

代碼如下:

數(shù)據(jù)過濾


  • 算法設(shè)計(jì)

下面來逐行用代碼解釋算法每一步操作步驟

1)輸入地點(diǎn)a, 用戶集合X,地點(diǎn)集合Y、用戶和地點(diǎn)關(guān)系集合
2)找到對(duì)a感興趣的用戶子集U;

(1)(2)兩步的算法實(shí)踐


在我們的實(shí)踐中,設(shè)地點(diǎn)a為poi_id是15693的節(jié)點(diǎn),閾值設(shè)為theta=2,即同一個(gè)用戶訪問同一個(gè)Poi的次數(shù)超過theta,我們可以認(rèn)為該用戶對(duì)該poi感興趣

3)分別找到U中用戶感興趣的地點(diǎn),組成地點(diǎn)子集A

組成地點(diǎn)子集Poi


4)分別計(jì)算A中元素e和a的相似度
?? ?sim = |U中去過e的人次| / sqrt(|X中去過a的人次| * |X中去過e的人次|)
?? ?這里用了人次,而沒有用人數(shù)
5)按sim對(duì)A中元素從大到小排序,取sim最大的n個(gè)地點(diǎn)作為a的相似地點(diǎn)子集S
6)輸出S

(1)
(2)


在這里順便值得一提的是,在初始化count_1向量時(shí),之所以設(shè)置為0.1*ones()矩陣,是因?yàn)檫@巧妙的規(guī)避了poi或者是用戶編號(hào)為0的誤差,因?yàn)槲覀冎笆褂妙愃乒δ艿腶ny()函數(shù)保留了非零元,之后再“四舍五入”,round()一下,這樣原本為0.1的數(shù)據(jù)依然是0,我們就可以放心的將此零元“過濾掉”(unique函數(shù)過濾)

  • 進(jìn)行個(gè)性化選擇

考慮到用戶可能有幾日游的習(xí)慣,我們?cè)O(shè)置Day變量,下面是假設(shè),假設(shè)用戶半日游,如下,則給我們推薦3個(gè)景點(diǎn),分別是Sim值較高的前三個(gè)POI節(jié)點(diǎn)。如下所示:

這里僅展示Day=1的情況,其他情況與其類似,這里就不贅述了


  • 最后進(jìn)行路徑重組

我們使用Ant Colony算法進(jìn)行路徑重組,由于原始Gowalla數(shù)據(jù)格式不包含坐標(biāo)信息,因此我們要將經(jīng)緯度進(jìn)行轉(zhuǎn)化計(jì)算,這里可以參考我寫的程序,啟發(fā)函數(shù)為歐氏距離的倒數(shù),其結(jié)果如下所示:

推薦POI節(jié)點(diǎn)
原始數(shù)據(jù)展示
推薦的路徑結(jié)果與距離
各代最短距離與平均距離的對(duì)比



基于地點(diǎn)相似度的POI推薦以及路徑重組【matlab】的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
台北县| 荔波县| 中超| 泰和县| 丰顺县| 建德市| 榕江县| 成都市| 鹤山市| 辉县市| 安溪县| 潜江市| 三江| 长寿区| 章丘市| 安乡县| 芦溪县| 郑州市| 扎赉特旗| 镇远县| 云阳县| 曲麻莱县| 贺州市| 常熟市| 三门县| 怀宁县| 庆安县| 固阳县| 宜宾县| 饶河县| 成安县| 邵东县| 北京市| 德化县| 靖西县| 威远县| 财经| 顺昌县| 安国市| 孟津县| 凤翔县|