recommenderlab包提供了一个可以用评分数据和0-1数据来发展和测试推荐算法的框架。
它提供了几种基础算法,并可利用注册机制允许用户使用自己的算法
recommender包的数据类型采用S4类构造。
(1)评分矩阵数据接口:使用抽象的raringMatrix为评分数据提供接口。raringMatrix采用了很多类似矩阵对象的操作,如 dim(),dimnames() ,rowCounts() ,colMeans() ,rowMeans(),colSums(),rowMeans();也增加了一些特别的操作方法,如sample(),用于从用户(即,行)中抽样,image()可以生成像素图。raringMatrix的两种具体运用是realRatingMatrix和binaryRatingMatrix,分别对应评分矩阵的不同情况。其中realRatingMatrix使用的是真实值的评分矩阵,存储在由Matrix包定义的稀疏矩阵(spare matrix)格式中;binaryRatingMatrix使用的是0-1评分矩阵,存储在由arule包定义的itemMatrix中。
(2)存储推荐模型并基于模型进行推荐。类Recommender使用数据结构来存储推荐模型。创建方法是:Rencommender(data=ratingMatrix,method,parameter=NULL),返回一个Rencommender对象object,可以用来做top-N推荐的预测:
predict(object,newdata,n,type=c(‘topNlist,ratings’),…)
(3)使用者可以利用registry包提供