熱線電話:13121318867

登錄
首頁精彩閱讀R語言函數報錯繼續執行方法
R語言函數報錯繼續執行方法
2018-06-28
收藏

R語言函數報錯繼續執行方法

今天我把這些問題的細節做了一些改善,重新做了模型,發覺模型結果比我預想中的要棒??!主要修改如下:

1、將鄰居矩陣從2維擴充為35維;(據我測算,一般為整個數據集中用戶數的5%最佳,50維出現了一些空值)

2、將歐氏距離上限標準化去掉,這樣能更有效的匹配到相似度更高的用戶。

后續在執行推薦算法的過程中發現,一個一個計算每一個用戶的推薦產品太傻,我需要來一個循環語句來執行推薦算法!

過程中主要問題如下:

1、并不是所有用戶都有相似用戶,在執行語句中會報錯——這里我需要一個語句能識別報錯并跳過繼續執行;

2、如何把所有執行的結果放入一個矩陣,并且識別是哪一個用戶——這里需要一個空矩陣將用戶ID和結果裝入。

最終代碼編寫如下:

#組建初始化空矩陣

R<-matrix(0,9,1)  

#循環運行推薦程序并將結果并入到空矩陣
for (i in 1:nrow(S))

#循環執行推薦程序
    try({

#將ID放到結果之前
      R1=cbind(c(rep(i,3),UserBasedRecommender(i,RECOMMENDER_NUM,M,S,N)))

#將ID和結果一起并入空矩陣
      R<-cbind(R,R1)
    }
    ,silent = T)

#刪除結果矩陣1,2行以及第一列
c<-R[-1,-1][-1,]


write.csv(c,file = 'hnjbtj1.csv')

結果如下:

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢