技能训练

(1)关联规则大数据算法操作实践 ① 作业目的。 熟悉关联规则(association rules)的概念,了解Apriori算法流程。视频平台会根据用户浏览的视频向用户推荐相关视频,这背后的算法是怎样获得的,需要用到怎样的数据集?本次作业的目的就是以 Netflix 数据集为训练对象,以关联规则为训练算法,通过数据处理,来窥探一下用户喜好的推荐秘籍。 ② 作业准备。 Orange3 软件下载并安装。 数据集说明:Netflix 数据集给出了 480 189 个用户和 17 770 部电影评级信息。 该数据集包含电影信息、training set(训练集)、probe set(探测集)和 qualifying set(评估集)。qualifying set(评估集)又被分为 quiz(测验集)和 test(测试集)。其中,training set的评分数量为 100 480 507。probe set 是 training set 的子集,包含 1 408 395 个评分。 a. 电影信息。 电影信息采用图 2-5-6 所示的信息。 图 2-5-6 电影信息 ● Movie ID 与实际的 Netflix 影片 ID 或 IMDB 影片 ID 不对应。 ● Year of Release 的范围可以从 1890 年到 2005 年,可能对应于相应 DVD 的发行,不一定是它的剧场版本。 ● 标题是 Netflix 电影标题,可能与其他网站上使用的标题不对应,标题是英文的。 b. training set(训练集)。“training_set.tar”是包含 17 770 个文件的目录,文件中的每个后续行对应客户的评级及其日期,格式如下: 电影 ID:客户 ID,等级,日期。 ● Movie ID 的顺序范围为 1 到 17 770。 ● Customer ID 的范围为 1 到 2 649 429,有 480 189 位用户。 ● 评级为 1 到 5 星级(整数)。 ● 日期的格式为 YYYY-MM-DD。 c. probe set(探测集)。 探测集包含指示电影 ID 的行,后跟冒号,然后是客户 ID。格式如下: Movie ID1: Customer ID11 Customer ID12 … Movie ID2: Customer ID21 Customer ID22 d. qulifying_data(测试集)。 Netflix 数据的测试集包含在文本文件中“qualifying.txt”。它由指示电影 ID 的行,后跟冒号,然后是客户 ID 和评级日期,格式如下: Movie ID1: Customer ID11,Date11 Customer ID12,Date12 … Movie ID2: Customer ID21,Date21 Customer ID22,Date22 ③ 作业内容。 作业包括两个部分:将电影评论集改造为电影项集;将电影项集进行关联规则分析,以Orange 为计算平台。 a. 电影项集的生成。 首先根据电影集将电影名以有效词进行分割,并与 training_data 数据集中的评分项进行合并,形成电影项集。以第一个电影为例,如表 2-5-10 所示。 表 2-5-10 电影项集 b. 将上述电影项集进行 Orange 关联分析。 关联分析的目的是找出什么类型的电影评分项高或低。需要说明的是,在进行关联规则算法计算时,需要后缀名为.basket或.bskToolbar Image 的文件格式,这两个文件其实都是文本文件。 首先进行数据清理,注意在各个项之间加入英文半角逗号(,)分隔,且每单的最后要保证是以回车符结束。然后将所有项集复制,粘贴到一个文本文件,并且将文本文件改为英文名,同时将.txt 后缀名改为.bsk。至此,所有文件准备工作基本结束。 打开 Orange 平台,先将文件载入。然后将频繁集及关联规则算法模型连入数据库,画出其工作流图,并写入报告集。 c. 撰写数据测试报告。