23|流程串联:数据处理和协同过滤串联进行内容推荐
黄鸿波
你好,我是黄鸿波。
在前面的课程中讲了很多召回算法,也讲了关于 Flask 和用户界面相关的内容,今天我们把所有的东西做一个流程串联。
今天主要会做下面五件事。
将数据采集到协同过滤算法的召回中训练协同过滤算法。
使用协同过滤算法训练出基于 Item 的协同过滤矩阵。
利用协调过滤矩阵,将用户 ID 传入进去预测出每一个用户的 Item list。
将预测出来的结果存入到 Redis 数据库。
通过 WebService 做成接口。
接下来,我们针对上面的内容,看看怎么一步步实现。
训练协同过滤算法
要想把之前的那一套协同过滤算法跑起来,首先要做的就是做好数据,并喂给协同过滤算法。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何通过数据处理和协同过滤算法串联进行内容推荐。作者首先讲解了训练协同过滤算法的步骤,包括从训练数据集中提取用户和对应的物品,生成相似度矩阵。接着,作者详细介绍了如何从MongoDB数据库中读取数据,并通过规则进行加权计算得分,最后将得分存入CSV表供训练使用。文章还介绍了相关的代码实现,包括初始化数据库、计算用户对新闻的得分、以及将得分与新闻ID存储为CSV格式。整体而言,本文涵盖了数据处理、协同过滤算法训练和实际代码实现等内容,为读者提供了一套完整的内容推荐流程。文章还介绍了如何搭建整个运行流程,包括计算推荐用户列表、训练协同过滤矩阵、进行推荐以及将推荐结果写入数据库的流程。通过本文,读者可以快速了解内容推荐的技术特点,以及如何实现整个推荐流程。文章总结了训练基于 Item 的协同过滤矩阵的步骤,将数据和协同过滤算法串联起来,并存入到Redis数据库,以及推荐系统的流程。读者可以从中学习如何确定推荐对象、计算推荐矩阵、进行推荐和记录推荐结果。整体而言,本文为读者提供了一套完整的内容推荐流程,并鼓励读者进行课后练习,实现代码并将前端与推荐结果串联起来。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《手把手带你搭建推荐系统》,新⼈⾸单¥59
《手把手带你搭建推荐系统》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- panda_dou请问一下,文章中代码的GitHub的链接可以提供一下吗?
作者回复: https://github.com/ipeaking/recommendation https://github.com/ipeaking/scrapy_sina
2023-08-07归属地:上海2 - peter请问:“共现矩阵”就是“协同过滤矩阵”吗?
作者回复: 是的。
2023-06-08归属地:北京 - 叶圣枫这些表里的数据从哪里来? self.mongo = MongoDB(db='recommendation') self.db_client = self.mongo.db_client self.read_collection = self.db_client['read'] self.likes_collection = self.db_client['likes'] self.collection = self.db_client['collection'] self.content = self.db_client['content_labels']2024-02-15归属地:美国1
- 悟尘read_count = self.read_collection.find(query).count() 执行报错 AttributeError: 'Cursor' object has no attribute 'count': 这个错误是因为在 MongoDB 3.6 及更高版本中,`Cursor` 对象不再具有 `count()` 方法。你需要使用其他方法来获取查询结果的数量。 你可以使用以下方法之一来计算匹配查询的文档数量: 1. **`count_documents()`**: - 使用 `count_documents()` 方法直接在集合上进行计数。 ```python read_count = self.read_collection.count_documents(query) ``` 2. **`estimated_document_count()`**: - 如果你不需要精确的计数,可以使用 `estimated_document_count()` 方法,它通常比 `count_documents()` 更快。 ```python read_count = self.read_collection.estimated_document_count() ``` 请确保你的 MongoDB 版本支持这些方法。如果你正在使用的版本低于 3.6,请更新到较新的版本以避免出现这个问题。2023-12-15归属地:北京
- 悟尘../data/news_score/news_log.csv,这个文件在哪?2023-12-15归属地:北京1
收起评论