python推荐算法课程_Python数据科学:全栈技术详解4-推荐算法

作者:Ben,多本数据科学畅销书作家,先后在亚信、德勤、百度等企业从事电信、金融行业数据挖掘工作。

配套学习教程:数据科学实战:Python篇 https://edu.hellobi.com/course/270

前文传送门:

推荐系统近年来非常欢迎并应用于各行业。它是一种信息过滤系统,用于了解用户对物品的偏好。

4.1  推荐系统概述

推荐系统可以将商品推荐给用户,在互联网领域有着广泛运用。推荐系统可以根据应用、设计目的、使用的数据和推荐方法的不同进行分类。

1.基于应用,推荐系统可以分为电子商务推荐、社交好友推荐、搜索引擎推荐、信息内容推荐等。

2.基于设计目的,推荐系统可以分为协同过滤、内容的推荐、知识的推荐、混合推荐。

3.基于使用的数据的推荐以及推荐系统可以分为基于用户行为数据的推荐、基于用户标签的推荐、基于社交网络数据、基于上下文信息(时间上下文、地点上下文等)的推荐。

4.基于推荐方法,推荐系统可以分为基于用户需求的推荐、基于购物篮的推荐、基于用户商品的推荐、基于用户相似性的推荐、基于市场细分的推荐等。

(1)基于用户需求的推荐

这类推荐的算法主要是分类模型,比如Logistic回归、神经网络等。这类推荐根据用户的属性、行为数据对用户的需求进行建模,进而预测用户的(购买等)行为,由于其需要训练数据,因此只适用于有销售记录的产品,而且这类算法的建模过程比较复杂。

(2)基于购物篮的推荐

这类推荐的算法的典型代表为关联规则,其用于发现不同商品被同时购买的规则,从而反映了顾客的需求模式,其适用于有销售记录的商品,可以向老客户推荐相关商品。

(3)基于用户/商品的推荐

基于用户(User)和商品(Item)的推荐统称为协同过滤,该方法通过对用户/商品购买或评价矩阵的转换,获取用户与用户或商品与商品的相似性。一般用户较多的电商会使用基于商品的推荐,而社交网站更偏爱基于用户的推荐。这类方法也会使用到奇异值分解算法进行稀疏矩阵的存储。

(4)基于用户相似性的推荐

这类推荐是以用户之间的相似性为基础,典型算法就是各种相似度的计算、KNN算法以及基于用户的协同过滤,其可以找出有相似行为的用户并向他们推荐产品。其一般适用于有过购买行为的老用户,而且推荐的产品也不能是全新的产品。

(5)基于市场细分的推荐

市场细分以k-means算法为代表,相似的用户具有相似的需求,其可以适用于全新的产品,全新的用户,但是模型效果只能事后检验。

本节会主要介绍基于内容与基于用户相似性的推荐方法。

4.2  计算相似度

1.收集用户偏好

对于某种商品,用户对于该商品的评分、投票、某文章或微博的转发、点击量、页面停留的时间等可以反映用户偏好。评分、投票、转发等可以比较精确地得到用户对于该商品的偏好信息;而点击量、页面停留则含有噪声,需要对这类数据事先进行处理;对于用户评论,则需要进行文本分析来得知用户的情感倾向,从而可以一定程度地反映用户的偏好。

2.相似度的度量

相似度的度量有很多方法,这里介绍欧氏距离(Euclidean),皮尔森相似度(Pearson)、余弦相似度(Cosine)与杰卡德距离(Jaccard)。

(1)欧氏距离,即平面几何中两点间距离的计算公式::

欧氏距离值越大代表两个变量的相似程度越低。例如在下图中,Ma和Yang无疑是最相似的,其次是Zhao和Li,而Wang与Qi则相差较大。

(2)皮尔森相似度,即皮尔森相关系数,值域为-1~1,一般用于衡量两个连续随机变量的线性关系,其计算公式如下所示。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值