码迷,mamicode.com
首页 > 其他好文 > 详细

图书交流数据集分析

时间:2015-05-18 13:11:49      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

?数据集介绍:本数据集由Cai-Nicolas Ziegler收集,他对图书漂流社区进行了四周(2014年8月和9月)的数据爬行。该数据集包含278858个用户对271379册图书的1149780个评分。

数据集的网页地址:http://www.datatang.com/data/45481/

由于数据集的质量不高,需要对数据进行预处理。可先用Excel处理数据,调整数据集的格式并删除错误的数据行,随后用R语言加载数据。由于Excel2010最大只能支持1048576行,当数据集的行数超过这个限制后,可用Access加载数据,同时我们需要用Access对数据集中的三张表进行联结。

技术分享

 

1、分析人群的年龄

 

技术分享

技术分享

               从以上两张图片可以看出,读书人群主要集中在20~40之间,且年龄呈偏态分布。

 

2、统计各国读书人群的数量

由于数据集包含了很多国家,不利于作图,因此只选择了排名靠前的12个国家

技术分享

        可以看出,美国的读者人数最多。同时我们发现,母语为英语的国家占了很大的比重。一方面可能与人口基数有关;另一方面,我们可以猜想,在数据爬取的过程中可能优先选择了英语国家,造成了数据的有偏性。总之,在这里,我们不能妄下结论。

 

3、统计各类评分的数量

        技术分享

        可以看出,很多图书没有得到评分(0分),可能是因为很多人不希望在这方面花费时间。在得到评分的数据里,评分主要集中在7~10分,而1~4分的数据很少,可以推测人们在评分这件事上偏于保守。

 

4、分析各国读者的年龄

        首先画出以国家分组的年龄直方图。

技术分享            通过图片,我们还不能明显看出各国读者人群的年龄是否存在差异。

            4.1、比较各国读者人群的人均年龄

            比较各国的人均年龄,首先想到的方法是方差分析,但方差分析有两个假设条件——正态和方差齐性。由上面的分析可知,年龄的分布呈偏态分布。另外,我们还可以验证方差齐性。

技术分享

            p<0.05,所以方差齐性也不满足要求。因此,我们只能使用非参数检验(秩和检验)。

技术分享

            非参数检验的p值小于0.05,说明各国读者人群的人均年龄不全相同。

技术分享

      可以看出,usa的人均年龄最大,portugal的人均年龄最小。

 

5、分析年龄与图书评分的关系

            同样的方法,我们可以分析年龄与评分的关系。

 技术分享

	Kruskal-Wallis rank sum test
#非参数检验
data:  Age by Book.Rating
Kruskal-Wallis chi-squared = 456.51, df = 10,
p-value < 2.2e-16 

                     非参数检验的p值小于0.05,说明各类评分的读者人均年龄不全相同。

                技术分享

                         可以看出,给出1~4分的读者平均年龄略小。

 

 

6、分析活跃用户

               找出阅读量排名前10的用户。

技术分享

            可以看出,即使是阅读量排名靠前的用户对评分的态度也会有所不同,例如ID为98391的用户对评分这件事比较积极且给出的分数较高,而ID为76352的用户就显得不够积极。

 

7、对图书进行关联分析(购物篮分析)

              支持度0.001,置信度0.5,可得到23条规则。下图展现了前面的8条规则。

#需要分析的数据储存在user_analyze中 
library(arules)
user_analyze$ISBN<-as.character(user_analyze$ISBN)

#制作购物篮数据
book_list<-as(split(user_analyze$ISBN,user_analyze$UserID),"transactions")

#关联分析 
rules<-apriori(book_list,parameter = list(support=0.001,confidence=0.5,minlen=2,maxlen=5))
inspect(rules)

技术分享           随后,我们可以根据ISBN码查看哪些书有较强的关联性。

           例如,我们可以分析前两条规则,ISBN码为0439064864的图书为《Harry Potter and the Chamber of Secrets (Book 2)》,ISBN码0439136350图书为《Harry Potter and the Prisoner of Azkaban (Book 3)》。前两条规则表明很多读者会同时选择这两本书,这也显得理所当然,因为这两本书是Harry Potter系列的第二部和第三部,所以经常会同时出现在一个人的读书单里。

 

图书交流数据集分析

标签:

原文地址:http://my.oschina.net/u/2369107/blog/416067

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!