![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
电影推荐系统
Taylor George
这个作者很懒,什么都没留下…
展开
-
推荐系统代码流程梳理
整体概述介绍完所有的单个推荐系统算法后,我们迎来将他们整合到一起的日子。首先这个整合代码整体并不难就是将每一个推荐算法训练完加入评估器的算法池中,再对其进行评估。接下来我们来看看这个文件中我们需要导入的第三方包:from MovieLens import MovieLens # 自己写的数据处理类from surprise import SVD, SVDpp # surprise库的SVD,SVD++算法from Evaluator import Evaluator # 自己实现的推荐效果评原创 2020-06-23 18:06:11 · 1037 阅读 · 0 评论 -
matrixFactorizationSVDppwithMetrics.py
matrixFactorizationSVDppwithMetrics.py这个.py文件和上一个文件非常相似,只是在算法上进行了升级,把SVD算法升级为了SVD++算法,但是使用的仅仅是默认参数。下面是详细注释代码:from MovieLens import MovieLensfrom surprise import SVDppfrom Evaluator import Evaluatorimport randomimport numpy as npfrom time import tim原创 2020-06-20 17:27:09 · 154 阅读 · 0 评论 -
matrixFactorization.py
matrixFactorization.py这个.py文件的主要功能是根据用户数据去训练SVD并且找到SVD的最佳参数,以便于后期预测。其中利用到的寻参函数是surprise库中search.py文件下对照sklearn库修改的GridSearchCv类,它可以从给定的参数列表中选出对于训练数据下的最佳参数。详情可以参照GridSearchCv下面是带详细注释的文件源代码:from MovieLens import MovieLensimport numpy as npfrom surprise原创 2020-06-19 18:16:58 · 136 阅读 · 0 评论 -
matrixFactorixationSVDwithMetrics.py
matrixFactorization.py这个.py文件是利用了SVD算法,也就是奇异值分解算法来对电影数据进行训练推荐。对于奇异值分解后期我会写一篇详细的博客来阐述。下面是此文件的带注释代码,因为与其他算法采用类似结构就不做过多解释:from MovieLens import MovieLensfrom surprise import SVDfrom Evaluator import Evaluatorimport randomimport numpy as npfrom time im原创 2020-06-19 17:42:36 · 162 阅读 · 0 评论 -
ItemBasedCFwithMetrics.py
ItemBasedCFwithMetrics.py这个文件与上一个.py文件相似,都是基于电影去构建KNN。区别在于这个文件是根据评估函数的评估指标进行排序从而达到推荐目的.评估函数文章详情请点击Evaluate下面是经过注释源代码:from MovieLens import MovieLensfrom Evaluator import Evaluatorfrom surprise import KNNBasicfrom time import timeimport randomimport原创 2020-06-19 14:16:40 · 168 阅读 · 0 评论 -
ItemBasedCF.py
ItemBasedCF.py首先这个.py文件是基于多个用户评价的电影数据,利用surprise自带的KNN库去计算整个数据集的相似矩阵。再利用测试用户的评价数据和相似矩阵去选出与测试用户相似度最高的K个电影下图是此类运用到的几个库:from MovieLens import MovieLensfrom surprise import KNNBasicfrom collections import defaultdictfrom operator import itemgetterfrom t原创 2020-06-18 21:09:14 · 185 阅读 · 0 评论 -
HybridWithMetrics.py
HybridWithMetrics.py这个.py文件主要是调用HybridAlgorithm类对两个预测算法进行分别融合,然后再将这三个算法进行评估,最后将algorithm算法集中每个算法推荐指标进行统计分数,然后排序给出推荐电影并打印出来。from MovieLens import MovieLensfrom ContentBasedAlgorithm import ContentBasedAlgorithmfrom HybridAlgorithm import HybridAlgorithm原创 2020-06-18 18:05:10 · 161 阅读 · 0 评论 -
MoviesLens.py
MoviesLens.py此项目用到的数据集是MoviesLens数据集,其中包括用户评分、电影信息等数据。MoviesLens.py是进行数据的预处理文件。下面是对数据预处理流程代码的详解过程。首先,涉及到的库如下所示import csvimport reimport pandas as pdfrom surprise import Readerfrom surprise import Datasetfrom collections import defaultdictimport os原创 2020-06-16 17:42:16 · 344 阅读 · 0 评论 -
HybridAlgorithm.py
HybridAlgorithm.py首先,这个类是以后每个预测算法都要调用的一个基础类,每个surprise里面的算法都要通过这个类进行训练及预测。让我们看看该类运用到了什么库from surprise import AlgoBasefrom surprise import NormalPredictor这个类运用了一个库中的两个类,分别是AlgoBase和NormalPredictor。其中AlgoBase是每个surprise库中每个单个预测算法都必须继承的基类。详情可以点击AlgoBase原创 2020-06-17 18:41:28 · 333 阅读 · 0 评论