搭建推荐系统的一般步骤:
1.准备数据
2.选择算法
3.模型训练
1.效果评估
1.准备数据
数据是推荐按系统的基础,无论是简单的推荐系统还是大型的推荐系统,都需要一定的基础数据。这些数据不仅要包含进行推荐的商品,还要包含用户的行为日志。
Netflix数据集
下载网址https://www.kaggle.com/netflix-inc/netflix-prize-data#movie_title.csv
包含以下文件
1.README:数据集相关介绍。包括:包括那些文件,每个文件包含内容,内容中数据含义
2.movie_titles.txt:电影相关信息,文件有三列
1,2003,dinosaur planet
电影ID,上映时间,电影名字
数据集中包含的电影数目:17770,电影上映时间范围:1890-2005
3.training_set.tar:训练集,解压该文件,得到的是以每个电影ID为后缀名的文件。共17770个,
形式:1488844,3,2005-09-06
用户ID,评分,时间
用户ID 范围:1-2649429
4.qualifying.txt:验证数据集,格式为 电影ID,用户ID,时间
5.probe.txt测试数据集,格式为:电影ID,用户ID。可用于算法的评估和测试
2.数据预处理
在使用数据进行建模或分析之前,对其进行一定的处理。
真是环境中产生的数据往往都是不完整、不一致的脏数据,无法用来直接建模或进行数据分析。
常见的数据预处理包括:标准化、离散化、抽样、降维、去噪等。
3.数据清理
1.不合格数据修正
2.缺失值填充
3.噪声值处理
4.离群点处理
4.冷启动
在没有丰富历史数据的情况下为用户推荐个性化的商品
分类:
1.用户冷启动:解决的是如何给新用户进行个性化推荐的问题。当一个新用户进入网站或APP时,系统之前没有任何关于该用户的数据,无法对该用户进行兴趣建模,从而无法进行个性化推荐。
2.物品冷启动:如何将相信加入的商品推荐给用户
3.系统冷启动:解决在一个新系统中没有用户,也没有用户信息,只有物品信息,如何给用户进行个性化推荐。
针对推荐系统的冷启动,主要有以下几种方法:
1.基于热门数据推荐
2.利用用户注册信息
3.利用用户上下文信息
4.利用第三方数据
5.利用用户和系统之间的交互
6.利用物品内容属性
在协同过滤算法中,UserCF的原理是给用户推荐相似用户喜欢的而物品。对新加入的商品,当只有一部分用户看到是,UserCF可以将其扩散给更多用户(随机展示)
7.利用专家标注内容