登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

基于年龄变化的商品推荐方法研究毕业论文

 2020-02-23 18:18:39  

摘 要

如今中国社会,已经逐渐步入了互联网 的年代,互联网如同嵌入到我们生活里一样,与我们生活息息相关。国内推出一系列的政策促进互联网方面的发展,与我们生活最相关的一个方面就是网络购物。大大小小的网络购物网站充斥着互联网世界,根据网络购物产生了各种二手交易平台,拥有优秀商品推荐方法的网站会更加具有竞争能力。我国开放二胎政策,鼓励生育,在互联网趋势和二胎政策推广的大背景下,基于年龄的商品推荐就更是迫切被需要的。

竞争激烈的社会中用户体验就成了很需要重视的问题,推荐能力低下的网站给用户带来的体验就没有那么完美。用户如果没有被重视的感觉,自然就会使网站陷入无人访问的尴尬境地。电商网站虽然都拥有自己的推荐方法,但是基于年龄的方法如今还不是很完备。

本文主要是对数据进行预处理和特征选择,针对年龄预测选择了四种模型进行对比,并且根据用户具体情况推荐给用户商品。进行比较具体做了如下工作:

  1. 统计处理数据集,画出散点图观察删除不合规则的数据。使用方差选择法结合基于ET树的特征选择方法对特征进行处理,解决过拟合问题。
  2. 比较SVM、逻辑回归、集成学习嵌套KNN的BaggingClassifier及“投票”方法。通过5折交叉检验及实际预测结果选择出效果最优的年龄预测模型。
  3. 统计各年龄阶段的用户购买情况,根据用户的具体情况推荐相应的商品。将用户分成三种情况处理,已知年龄,未知年龄需要预测及毫无购买记录的新用户。

总结分析推荐结果,找出整个实验过程中的不足。对未来进行合理展望和确定以后需要完成的后续研究工作。

关键词:商品推荐系统;年龄阶段;SVM;BaggingClassifier;逻辑回归;特征处理

Abstract

Nowadays, Chinese society has gradually entered the era of “Internet accelerated speed”. The Internet, like being embedded in our lives, is closely related to our lives. The domestic launch of a series of policies to promote the development of the Internet, one of the most relevant aspects of our lives is online shopping. Large and small online shopping websites are flooded with the Internet world. According to online shopping, various second-hand trading platforms are created, and websites with excellent product recommendation methods are more competitive. China's policy of opening up second-born babies encourages childbirth. Under the background of Internet trends and the promotion of second-child policy, product recommendations based on age are urgently needed.

The user experience in a highly competitive society has become a problem that needs to be emphasized. The experience of a website with a low recommendation capability does not give the user a perfect experience. If users do not feel the importance of being attached, they will naturally put the website in an embarrassing situation where no one visits. Although e-commerce sites all have their own recommendations, the age-based approach is not yet complete.

This thesis is mainly to preprocess the data and feature selection. Four models are selected for age prediction and compared, and the user's product is recommended according to the user's specific situation. To do more specific work as follows:

1. Statistically process the data set and draw a scatterplot to observe the deletion of irregular data. Variance selection method is used in combination with feature selection method based on ET tree to process features and solve overfitting problem.

2. Compare SVMs, logistic regression, ensemble learning, and "voting" methods. Through the 5-fold crossover test and actual prediction results, the age prediction model with the best effect was selected.

3. Statistics on user purchases at different ages, and recommend corresponding products according to the user's specific situation. Divide users into three situations, known age, unknown age, new users who need forecasts and no purchase records.

Summarize and analyze the recommendation results to find out the deficiencies in the entire experiment process. Make a reasonable outlook for the future and identify follow-up research work that needs to be completed.

Keywords: product recommendation system; life stage;SVM;Bagging Classifier;logistic regression; feature processing

目 录

第1章 绪论 1

1.1 研究背景 1

1.2 研究意义 2

1.3 论文内容 2

第2章 数据处理及特征选择 4

2.1 数据预处理 4

2.1.1 数据分析及处理 4

2.1.2 特征抽取 8

2.2 特征选择方法 9

2.2.1 主成分分析法(PCA) 9

2.2.2 方差选择法 10

2.2.3 基于ExtraTrees的特征选择法 10

2.3 本章小结 11

第3章 年龄预测模型及商品推荐 13

3.1 年龄预测模型选取 13

3.2 商品推荐方法 14

3.3 商品推荐流程 16

3.4 实验结果与分析 17

3.4.1 推荐结果展示及说明 17

3.4.2 商品推荐分析及不足 18

3.5 本章小结 20

第4章 总结及展望 21

4.1 总结 21

4.2 展望 22

参考文献 23

致谢 25

第1章 绪论

1.1 研究背景

近年来,随着互联网、大数据、机器学习等IT与通信技术的迅猛发展。数据信息的核爆式增长就如同一把双刃剑,既是一个机遇又是一个挑战,我们生活的社会已经进入了大数据时代。大数据的出现使人们生产生活的方式发生改变、企业运作模式产生变化,甚至还根本性的改变科学研究模式。大数据的核爆式快速增长对现有设备处理和计算能力提出了挑战[6]

随着Internet的发展,其为用户提供越来越多的信息和服务。人们可以足不出户完成各种各样的活动,社交,游戏,购物等等。但因此Internet也拥有更加复杂多变的结构特征。在这个数据的海洋中,用户想要及时获得最需求的信息就好似大海捞针,也带给社会很多现实的问题。从一方面来看,当用户面对海量的信息,只能表现出无助和厌烦,被突如其来的数据海洋淹没不知所措;另一方面,各个网站如果对大数据问题不能迎刃而解,将会失去与用户的联系。用户得不到良好的体验,公司便不能建立稳定,忠诚的用户关系。我们可以理解推荐系统就好比一个销售店员。良好的推荐系统就好比推销能力优秀的销售人员可以给用户带来便利,给商家带来利益,以此获得更大的竞争力,建立很高的用户忠诚度[8]。在这个信息爆炸的时代,推荐系统在减轻信息过载方面同样起着举足轻重的作用。它也已经被广泛地应用于在线服务行业,包括电商,在线新闻,电影书籍网站等等方面。个性化推荐系统的关键在于根据用户过去的交互行为(例如,评级和点击)建模用户对项目的偏好[7]

推荐系统如今已经取得了很多的商业成功,它也是在数据挖掘方面最重要的应用之一。例如,我们经常使用的一些超大型商家淘宝,亚马逊,沃尔玛等,都拥有根据用户购买的行为信息给用户提供个性化的推荐。市场调查者和社会学家已经意识到了生命年龄阶段对于用户购买商品的行为起着十分重要的作用[11,12,13]。举个例子,我们会发现一位女士会在她的怀孕期间经常购买孕妇维生素,当她的孩子出生之后她会为她的孩子购买婴儿车,父母会在他们孩子的不同生命年龄阶段购买不同的商品。我们也很容易得知用户的需求是一个动态变化的过程,随着年龄阶段的变化对商品需求也是变化的。但是很不幸的是,如今大多数的推荐系统都没有将年龄生命阶段引入到推荐过程中[14]。因此,包含着年龄阶段的商品推荐就是一个十分值得去研究学习的方向。

1.2 研究意义

我们将年龄生命阶段引入到电子商务推荐系统。我们需要做的是首先根据用户的购买信息以及商品属性预测用户孩子当前的年龄阶段,根据孩子当前所处的年龄阶段对父母进行商品推荐。简单来讲,年龄阶段的商品推荐的意义就是让互联网由被动变为主动。高效的推荐节约用户的搜索寻找时间,使推荐系统更加人性化。我们努力使推荐系统向“优秀的推销员”进化,使用户买的舒心,商家赚的放心,增强电商网站的竞争能力。具体的来讲我们可分别从用户,商家方面理解:

1. 用户方面来说,基于年龄变化的推荐系统提高了系统的可使用性。它使感兴趣的信息可以快速被有需求的用户发现,改善用户体验,还可以帮助用户补全购物计划,被遗忘的需求品可以快速找到。在这个快节奏的社会生活下,节约了用户的时间。

2. 商家方面来说,它能够提升系统使用者对于产品的好感度和满意度,从而提高产品的购买量。给提供商创造出更多的经济价值,带来很大的口碑效益。给用户带来便利,给商家带来利益,以此使公司获得更大的竞争力,建立更高的用户忠诚度。

在研究和学习了大量文献,如今最简单有效的推荐方法主要可以分为:基于用户的协同过滤和基于商品的协同过滤方法。这两种方法在对于显示数据的推荐方面拥有比较好的能力但是对于隐式数据就无法应对。基于商品的协同过滤方法,商品之间的相似性被通过不同用户对不同商品的评分来评测。基于商品的相似性做推荐,简单来说就是用户过去喜欢的物品相似物被推荐给用户。基于用户的协同过滤方法,根据计算用户购买行为的相似度来进行商品的推荐。简单来说,相似的用户假定会有相似的爱好,给用户推荐兴趣相投的其他用户的购买商品。这两种用的很多的方法中并没有包含年龄阶段的信息,这也是我们研究基于年龄阶段的商品推荐的意义之一。

1.3 论文内容

主要的工作分为两个方面:预测年龄阶段方面和推荐商品方面。

我们从阿里天池获得用户信息以及购买数据,通过Python对数据进行清洗等预处理操作,删去不合格的数据,划分用户的年龄阶段,并构造成用户购买特征的矩阵,使用PCA来进行降维操作以及使用特征统计删除,VarianceThreshold方法加基于ExtraTrees的特征选择方法来处理特征信息过多而数据量过少的模型过拟合问题。

预测年龄方面,通过GridSearchCV方法对使用的预测方法进行辅助调参,对比协同过滤,逻辑回归,SVM以及集成学习嵌套KNN的BaggingClassifier方法,使用5折交叉检验方法来对训练模型进行检测,通过观察精确度,召回率,F1值来确定方法的性能。同时自己完成一个“投票方法”(多个模型进行投票来决定预测结果)来进行对比实验。通过阿里提供的数据划分不同特征进行实验,选出效果最好的特征进行继续使用。

推荐商品方面,由于数据十分稀少,不足以使用马尔科夫模型结合高斯分布计算用户下一个年龄阶段购买商品的概率,所以使用比较简单的统计计数方法,对不同年龄阶段的用户购买行为进行统计,返回被购买次数最多的几件商品作为推荐的商品。虽然失去了个性化的推荐,但是不失为一个良好的方法。

第2章 数据处理及特征选择

2.1 数据预处理

2.1.1 数据分析及处理

我们知道一般的推荐算法所使用的数据集分为两种类型,一种是显式反馈的数据,一种是隐式反馈的数据。显式反馈的数据简单来讲就是具有明确用户对某些物品评分的数据。例如,我吃了一顿午餐而且非常享受,所以我给这个午餐的菜打十分。其他同学口味不一样,吃的十分不愉快而给了三分,这种有明确打分的数据就是显式反馈数据。显式反馈的数据对于推荐系统来说十分友好,因为可以明确看出来用户究竟喜欢什么不喜欢什么。隐式反馈的数据也就比较好理解了,并没有用户具体打分的数据。隐式反馈数据对于推荐系统来说处理难度比较大,因为我们不能得知用户对商品的打分,不能简单地根据用户的打分去预测用户对他未接触的物品的打分。推荐商品难度很大,原因是对于推荐系统,我们不能很容易的得知用户究竟喜欢什么,讨厌什么。

阿里天池数据集中的 ali_mum_baby 数据,包含 900 多个孩子的信息(生日、 性别)的消费者分享信息以及包含着3万个左右用户的购买记录。具体数据包含在两个CSV文件中,sample_sam_tianchi_mum_baby(文件大小:20KB)。sample_sam_tianchi_mum _baby_trade_history(文件大小:8MB)。

第一个文件sample_sam_tianchi_mum_baby.csv文件,表示的是用户孩子的信息数据集,其中包含着953个用户信息,每个用户数据包含三个字段,第一个是用户Id的User_Id,第二个是用户孩子出生的日期Birthday,第三个是孩子的性别Gender,具体如下表2.1所示:

属性

描述

User_id

用户ID(整形,唯一)

Birthday

孩子生日(例如20150101)

Gender

孩子性别(“0”代表孩子性别为女,“1”代表孩子性别为男,“2”代表孩子性别未知)

表2.1 mum_baby文件字段解释

第二个文件sample_sam_tianchi_mum_baby_trade_history.csv文件,表示的是用户的购买记录文件,其中有多达29971条数据,每一条代表着一个用户的购买记录。假如一个用户购买了多次商品,将被分开存储,这是随后的处理所发现。每条数据中包含着7个字段,第一个为表示用户Id的User_Id,第二个为表示用户的购买订单Id的Auction_Id,第三个为表示商品菜单的Cat_Id,第四个为表示商品的根菜单的Cat1,第五个为表示用户购买商品所具有的商品属性的Property,第六个为表示用户购买商品的数量的Buy_Mount,第七个为表示用户购买商品的日期的Day,具体如下表2.2所示:

属性

描述

User_Id

用户的id(整形,唯一)

Auction_Id

购买订单的id(整形,唯一)

Cat_Id

商品所在的二级目录id(整形)

Cat1

商品所在的根目录id(整形)

Property

商品的属性,以”;”作为分隔符将各个属性分开,其中是键值对的形式(字符串)

Buy_Mount

商品的数量(整形)

Day

时间戳,用户购买的时间精确到具体的日子

表2.2 mum_baby_trade_history文件字段解释

拿到数据后,我们首先要做的是清洗数据,删除无意义的数据。最基础的是删除数据不全的条目,这些条目会影响到我们的统计计算。对待缺失数据,使用数据补全例如平均值或者中位数等进行补全比较合理,但是这里的数据使用这种方法并不合适。因为除去用户购买日期和孩子出生日期作为计算购买时孩子年龄结果有意义。其他数据只有商品属性和菜单属性用来预测,数据补全没有意义。

您需要先支付 80元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图