项目七天冲刺总结随笔
概述
这篇总结随笔记录了我在项目七天冲刺期间负责实现商品推荐算法的主要进展和收获。作为校园二手交易平台的一部分,商品推荐算法的目标是提供个性化的商品推荐给用户,以提高用户的交易体验和平台活跃度。以下是我对这七天冲刺的总结和反思。
目标回顾
在这七天的冲刺中,我的主要目标是设计并实现一个基于用户偏好和商品特征的商品推荐算法。具体目标如下:
- 目标一:了解校园二手交易平台的用户行为和需求。
- 目标二:研究不同的推荐算法,并选择适合的算法作为基础。
- 目标三:实现商品推荐算法,并进行初步的评估和调优。
主要进展
在这七天中,我取得了以下主要进展:
- 进展一:通过用户调研和数据分析,我深入了解了校园二手交易平台的用户行为模式和偏好。
- 进展二:我研究了不同的推荐算法,包括基于内容过滤、协同过滤和深度学习的方法,并选择了协同过滤算法作为基础。
- 进展三:我基于协同过滤算法实现了商品推荐模块,并进行了初步的测试和评估。
遇到的挑战
在项目冲刺的过程中,我遇到了一些挑战:
- 挑战一:理解和应用协同过滤算法的原理和实现细节。
- 挑战二:处理大规模数据集的推荐计算效率和存储问题。
- 挑战三:在没有用户行为数据的情况下,如何进行准确的推荐。
学到的教训
通过面对这些挑战,我学到了一些宝贵的教训:
- 教训一:深入理解算法原理对于正确实现和调优至关重要。
- 教训二:合理设计数据结构和算法,以提高推荐计算的效率和存储的可扩展性。
- 教训三:利用已有的数据和领域知识,进行合理的推荐策略设计和评估。
下一步计划
基于这七天冲刺的总结和
反思,我制定了以下下一步计划:
- 计划一:进一步完善商品推荐算法,包括引入更多的用户行为特征和商品属性。
- 计划二:优化推荐算法的计算性能,以适应大规模数据集的推荐需求。
- 计划三:与团队其他成员协作,将商品推荐模块整合到校园二手交易平台中,并进行系统级的测试和调优。
结束语
这七天的冲刺是一个充满挑战和学习的过程。通过研究和实现商品推荐算法,我深入理解了个性化推荐的原理和实践,并取得了一些令人满意的成果。在未来的工作中,我将继续不断学习和改进,为校园二手交易平台的用户提供更好的商品推荐体验。
代码
import numpy as np
user_ratings = {
'User1': {'Item1': 4, 'Item2': 3, 'Item3': 5},
'User2': {'Item1': 5, 'Item2': 2, 'Item4': 4},
'User3': {'Item2': 5, 'Item3': 2, 'Item4': 3},
'User4': {'Item1': 2, 'Item3': 4, 'Item4': 5},
'User5': {'Item2': 4, 'Item4': 2}
}
def calculate_similarity(user_ratings):
similarity_matrix = {}
for user1 in user_ratings:
similarity_matrix[user1] = {}
for user2 in user_ratings:
if user1 != user2:
common_items = set(user_ratings[user1].keys()) & set(user_ratings[user2].keys())
if len(common_items) > 0:
ratings1 = np.array([user_ratings[user1][item] for item in common_items])
ratings2 = np.array([user_ratings[user2][item] for item in common_items])
similarity_matrix[user1][user2] = np.dot(ratings1, ratings2) / (np.linalg.norm(ratings1) * np.linalg.norm(ratings2))
return similarity_matrix
def recommend_items(user, user_ratings, similarity_matrix, num_recommendations=3):
user_items = set(user_ratings[user].keys())
recommendations = {}
for other_user in similarity_matrix[user]:
for item in user_ratings[other_user]:
if item not in user_items:
if item not in recommendations:
recommendations[item] = similarity_matrix[user][other_user] * user_ratings[other_user][item]
else:
recommendations[item] += similarity_matrix[user][other_user] * user_ratings[other_user][item]
sorted_recommendations = sorted(recommendations.items(), key=lambda x: x[1], reverse=True)
return sorted_recommendations[:num_recommendations]
similarity_matrix = calculate_similarity(user_ratings)
user = 'User1'
recommendations = recommend_items(user, user_ratings, similarity_matrix)
print(f"根据用户{user}的偏好,推荐以下商品:")
for item, score in recommendations:
print(f"{item}: 推荐得分 {score}")
一、SCRUM 部分
1. 成员工作进度
222000115
今日进展 | 在冷启动问题上有进展,研究了多种方法和技术,特别关注用户历史点击记录和属性信息。分析用户行为和个人特征有助于准确推荐。 |
---|
遇到的问题或困难 | 缺乏新用户的历史点击数据,难以了解兴趣。用户属性信息可能不完整,需要预处理和特征工程。 |
心得体会 | 解决冷启动问题需要综合不同方法,结合用户行为和属性信息,了解用户喜好。重视数据和算法优化迭代,关注新技术和研究领域。 |
明日计划 | 继续优化冷启动解决方案,探索更多数据处理和特征工程方法。研究基于深度学习的推荐算法,提高准确性和个性化程度。努力寻找更好的解决方案。 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/01e81853ef97dac6dba23b7f3113596a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/11a7d92d93bfd8b00ee99f6f5fb58a06.png)
222000125
今日进展 | 在解决冷启动问题方面取得了进展,研究了多种方法和技术,特别关注基于用户历史点击记录和用户属性信息的解决方案。 |
---|
遇到的问题或困难 | 主要问题是缺乏新用户的历史点击数据,增加了推荐的难度。同时,处理用户属性信息时可能面临数据不完整和缺乏标准化的挑战。 |
心得体会 | 解决冷启动问题需要综合运用不同的技术和策略,结合用户的历史点击数据和个人属性信息,以更好地了解用户的兴趣和需求。 |
明日计划 | 明天将继续优化冷启动问题的解决方案,探索更多的数据处理和特征工程方法,提取有效的用户属性信息特征。同时,研究基于深度学习的推荐算法,以进一步提升冷启动情况下的推荐准确性和个性化程度。 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/18dcbddf1ae7e69ea10a0d7f619e9081.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9ebfd2dc361002fe9d0edb6d9fa5c6d3.png)
222000431
今日进展 | 完成商品状态转换后端部分。 |
---|
遇到的问题或困难 | 今天内容没什么困难的。 |
心得体会 | 还是要仔细一点,细心一点,数据库的设计非常重要!!! |
明日计划 | 优化算法与前端的接口部分。 |
222000232
今日进展 | 完成发布商品中上传图片的功能 |
---|
遇到的问题或困难 | 接口一直报错500原来是数据库版本未更新的问题 |
心得体会 | 看懂报错什么意思很重要 |
明日计划 | 完成搜索功能 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a85a57f41e081d91954968afd146e0b8.png)
222000430
今日进展 | 完善购物车页面 |
---|
遇到的问题或困难 | 购物车选中总价会乱,有点难修改 |
心得体会 | 购物车选中总价会乱,有点难修改 |
明日计划 | 完善其他页面bug |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6130889dbca1fc3bc568965144a61aa5.png)
222000127
今日进展 | 完成了数据库的优化,以及后端登陆验证以及注册优化,前端完成基础多用户功能 |
---|
遇到的问题或困难 | 没什么困难,数据库使用已经很熟练了 |
心得体会 | 只有过去的沉淀,才有今天的顺利 |
明日计划 | 完成前端接入python代码 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a55b6580be1a399143feb6f56b4387c8.png)
222000233
今日进展 | 消息列表的后端部分 |
---|
遇到的问题或困难 | 数据库设计时没考虑周全,导致提取数据冗余。 |
心得体会 | 数据库设计时要先构思好逻辑,避免多次修改。 |
明日计划 | 完成消息列表前端部分。 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6644597a381c8cdf39b683a93efef7b5.png)
222000432
今日进展 | 更正我发布的模块的逻辑,增加可选择图片上传方式 |
---|
遇到的问题或困难 | 发现前期设计的时候没有考虑清楚,导致很多地方都需要修改 |
心得体会 | 前期的设计工作是很重要的,必须设计清楚,不然后续的修改和添加会很花费时间 |
明日计划 | 完成商品发货和确认收货功能 |
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/eebca8fa4481e94c2d7a2ec52177bfbc.jpeg)
2. SCRUM 会议照片
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/687dacb31f98e8f0526c4e37d21fa7da.jpeg)
二、PM 报告
1. 工作进度估计
任务总量 | 已完成工作量 | 剩余任务量 |
---|
100% | 75% | 25% |
2. 燃尽图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f2ae109b777de1f8be9341bd689b7c67.png)
3. 工作总量变化
- 完善前端与后端之间的接口问题
- 后端新增了一些功能
- 还有对alpha冲刺一些功能的完善。
- 数据库设计
- 图片上传显示
4. 项目最新进展
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e6e7e1fec572ffa8992f906cce3c5634.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a3cf2490e0fb9946a8afab670b92b9a5.png)