用户读书喜好推荐数据分析
2017-07-17 00:23
281 查看
数据库
borrow表
book表
其中tag中的数据
分析该用户喜欢阅读的读书分类
根据用户id在borrow表中查找出所借书的全部bookid,再根据bookid查找出所有tag集合起来,后期数据过大,可以使用hadoop的wordcount统计一下tag分类,此处数据小,仅使用php即可实现。
取最大值返回
borrow表
book表
其中tag中的数据
[{"count":3312,"name":"女性","title":"女性"},{"count":3254,"name":"林奕含","title":"林奕含"},{"count":2120,"name":"小说","title":"小说"},{"count":2056,"name":"伤痛","title":"伤痛"},{"count":1801,"name":"台湾文学","title":"台湾文学"},{"count":1471,"name":"社会","title":"社会"},{"count":1431,"name":"台湾","title":"台湾"},{"count":1024,"name":"小說","title":"小說"}]
[{"count":5772,"name":"历史","title":"历史"},{"count":5391,"name":"小说","title":"小说"},{"count":4763,"name":"外国文学","title":"外国文学"},{"count":4297,"name":"肯·福莱特","title":"肯·福莱特"},{"count":3348,"name":"好书,值得一读","title":"好书,值得一读"},{"count":2757,"name":"英国小说","title":"英国小说"},{"count":2330,"name":"经典","title":"经典"},{"count":2321,"name":"英国","title":"英国"}]
[{"count":111,"name":"科幻","title":"科幻"},{"count":56,"name":"特德·姜","title":"特德·姜"},{"count":31,"name":"科幻小说","title":"科幻小说"},{"count":30,"name":"小说","title":"小说"},{"count":22,"name":"美国","title":"美国"},{"count":15,"name":"特德·蒋","title":"特德·蒋"},{"count":12,"name":"蒸汽朋克","title":"蒸汽朋克"},{"count":8,"name":"TedChiang","title":"TedChiang"}]
分析该用户喜欢阅读的读书分类
<?php require_once 'config.php'; header('Content-type: application/json; charset=UTF-8'); if(isset($_GET['openid'])){ $openid=$_GET['openid']; $sql="SELECT bookid FROM borrow WHERE openid = '$openid'"; $array=array(); if($result=mysqli_query($conn,$sql)) { $array=array(); while ($row = mysqli_fetch_array($result)) { $sql1="SELECT tag from book where bookid='$row[0]'"; $result1=mysqli_query($conn,$sql1); $row2=mysqli_fetch_row($result1); $data=json_decode($row2[0]); foreach($data as $k){ //var_dump($k); //echo $k->{'title'}.' '; $array[]=$k->{'title'}; } } $arr=array_count_values($array); //arsort($arr);//排序按照值大小 //$a=max(array_flip($arr));//并列最大只输出一个,不采用 $a=array_keys($arr, max($arr));//$a为数组,可以输出并列最大 $arrays=array(); foreach($a as $key=>$val){ $arrays[]=array( 'url'=>'/tag/'.$val, 'name'=>$val, ); } echo json_encode($arrays,JSON_UNESCAPED_UNICODE); } } ?>
根据用户id在borrow表中查找出所借书的全部bookid,再根据bookid查找出所有tag集合起来,后期数据过大,可以使用hadoop的wordcount统计一下tag分类,此处数据小,仅使用php即可实现。
array(50) { ["女性"]=> int(1) ["林奕含"]=> int(1) ["小说"]=> int(10) ["伤痛"]=> int(1) ["台湾文学"]=> int(1) ["社会"]=> int(1) ["台湾"]=> int(1) ["小說"]=> int(1) ["历史"]=> int(1) ["外国文学"]=> int(5) ["肯·福莱特"]=> int(1) ["好书,值得一读"]=> int(1) ["英国小说"]=> int(1) ["经典"]=> int(4) ["英国"]=> int(2) ["科幻"]=> int(5) ["特德·姜"]=> int(1) ["科幻小说"]=> int(5) ["美国"]=> int(4) ["特德·蒋"]=> int(1) ["蒸汽朋克"]=> int(1) ["TedChiang"]=> int(1) ["罗伯特·索耶"]=> int(1) ["加拿大"]=> int(1) ["未来闪影"]=> int(1) ["科幻穿越"]=> int(1) ["丹·西蒙斯"]=> int(1) ["海伯利安四部曲"]=> int(1) ["海伯利安"]=> int(1) ["太空歌剧"]=> int(1) ["节奏紧凑,可读性强"]=> int(1) ["皮尔斯·布朗"]=> int(1) ["Kindle版"]=> int(1) ["银河系漫游指南"]=> int(1) ["道格拉斯?亚当斯"]=> int(1) ["幽默"]=> int(1) ["路遥"]=> int(1) ["平凡的世界"]=> int(1) ["中国文学"]=> int(1) ["人生"]=> int(1) ["茅盾文学奖"]=> int(1) ["文学"]=> int(3) ["百年孤独"]=> int(1) ["加西亚·马尔克斯"]=> int(1) ["拉美文学"]=> int(1) ["魔幻现实主义"]=> int(1) ["黑色幽默"]=> int(1) ["美国文学"]=> int(1) ["外国小说"]=> int(1) ["库尔特·冯内古特"]=> int(1) }
取最大值返回
[{"url":"\/tag\/小说","name":"小说"}]
相关文章推荐
- 大数据产品推荐:神策分析——可私有化部署的用户行为分析平台
- 数据分析-用户关系-开篇 推荐
- 个性化推荐研究(四)之如何利用用户行为数据
- Tableau&BDP,哪个才是最适合中国用户的数据可视化分析工具?
- 数据挖掘、数据分析的书籍推荐
- 实例分析mysql用户登录 推荐
- 推荐一个不错的关于Excel数据统计分析的公众号
- 实战智能推荐系统(6)-- 用户行为分析
- 内存区划分;内存分配;堆、栈概念分析;动态内存管理数据结构及程序样例;核心态与用户态
- 推荐系统——数据分析
- 22本数据分析、挖掘的好书推荐——干货分享
- 如何通过问卷调查与数据分析创建用户模型
- 确保数据安全是云计算取信于用户的关键 推荐
- 【推荐】捕获WCF服务端与客户端产生的通讯数据并分析
- 从用户角度看BI系统中数据分析模型的层次
- 大数据实战:用户流量分析系统
- Hadoop单点部署与案例开发(微博用户数据分析)
- 22个免费的数据可视化和分析工具推荐
- 一天内用户使用互联网时间数据分析
- RecSys的Yelp推荐比赛数据简单分析