从上一篇文章mahout入门之推荐系统,可以看出mahout的CF主要有如下几个模块(说是模块也不一定准确,但是mahoutCF的代码框架是架构在这几个接口上面的)。
CF的数据来源是用户(user)对商品(item)的评价度(ratings,mahout里面用Preference)。
如一个csv文件。
把上面的数据载入DataModel,然后通过DataModel提供的接口就可以方便的访问或对这些数据进行操作。
mahout里面提供了如上图的接口来访问或对这些数据进行操作。
同时,为了节省存储空间,PreferenceArray的实现采用把同一个user或者item的数据在一起存储。
GenericUserPreferenceArray的存储方式