导语
:在运行前,请务必清洗整理数据到相应的格式
第一列放用户,第二列放产品,第三列放评分。
1 准备工作
Sys.setlocale(category = “LC_ALL”, locale = “Chinese”)
clean up
rm(list=ls())
安装和加载R包
#install.packages(“recommenderlab”)
library(recommenderlab)
library(plyr)
读取数据集合
data <- read.csv(“testCF.csv”,header = FALSE)
将数据转换成包处理的形式,第一列放用户,第二列放产品,第三列放评分。
rat.matrix <- as(data,“realRatingMatrix”) #第一列放用户,第二列放产品,第三列放评分。
2 模型构建
默认的协同过滤推荐
prd_result <- predict (model,rat.matrix,n=2)
as(prd_result,“list”)
使用欧式距离推荐可能的二件商品
3 模型预测
使用欧式距离
model <- Recommender(rat.matrix,method =“UBCF”, param=list(method=“Euclidean”))
预测推荐的商品数量matrix=2
prd_result <- predict (model,rat.matrix,n=2)
as(prd_result,“list”)
完整代码–
######### Douban Ranking ##############
######### User based CF ##############
Sys.setlocale(category = "LC_ALL", locale = "Chinese")
### clean up
rm(list=ls())
#install.packages("recommenderlab")
library(recommenderlab)
library(plyr)
data <- read.csv("testCF.csv",header = FALSE)
rat.matrix <- as(data,"realRatingMatrix") #第一列放用户,第二列放产品,第三列放评分。
model <- Recommender(rat.matrix,method ="UBCF")
prd_result <- predict (model,rat.matrix,n=2)
as(prd_result,"list")
## 使用欧式距离
model <- Recommender(rat.matrix,method ="UBCF", param=list(method="Euclidean"))
prd_result <- predict (model,rat.matrix,n=2)
as(prd_result,"list")