95 R包推荐算法实现

导语
:在运行前,请务必清洗整理数据到相应的格式
第一列放用户,第二列放产品,第三列放评分。
在这里插入图片描述

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")

猜你喜欢

转载自blog.csdn.net/weixin_44498127/article/details/124443775
95
L95