这个作业属于哪个课程 | <软件工程-23年春季学期> |
---|---|
这个作业要求在哪里 | <团队作业——站立式会议+alpha冲刺> |
这个作业的目标 | Alpha冲刺Day8随笔 |
其他参考文献 | 无 |
目录
项目七天冲刺总结随笔
概述
这篇总结随笔记录了我在项目七天冲刺期间负责实现商品推荐算法的主要进展和收获。作为校园二手交易平台的一部分,商品推荐算法的目标是提供个性化的商品推荐给用户,以提高用户的交易体验和平台活跃度。以下是我对这七天冲刺的总结和反思。
目标回顾
在这七天的冲刺中,我的主要目标是设计并实现一个基于用户偏好和商品特征的商品推荐算法。具体目标如下:
- 目标一:了解校园二手交易平台的用户行为和需求。
- 目标二:研究不同的推荐算法,并选择适合的算法作为基础。
- 目标三:实现商品推荐算法,并进行初步的评估和调优。
主要进展
在这七天中,我取得了以下主要进展:
- 进展一:通过用户调研和数据分析,我深入了解了校园二手交易平台的用户行为模式和偏好。
- 进展二:我研究了不同的推荐算法,包括基于内容过滤、协同过滤和深度学习的方法,并选择了协同过滤算法作为基础。
- 进展三:我基于协同过滤算法实现了商品推荐模块,并进行了初步的测试和评估。
遇到的挑战
在项目冲刺的过程中,我遇到了一些挑战:
- 挑战一:理解和应用协同过滤算法的原理和实现细节。
- 挑战二:处理大规模数据集的推荐计算效率和存储问题。
- 挑战三:在没有用户行为数据的情况下,如何进行准确的推荐。
学到的教训
通过面对这些挑战,我学到了一些宝贵的教训:
- 教训一:深入理解算法原理对于正确实现和调优至关重要。
- 教训二:合理设计数据结构和算法,以提高推荐计算的效率和存储的可扩展性。
- 教训三:利用已有的数据和领域知识,进行合理的推荐策略设计和评估。
下一步计划
基于这七天冲刺的总结和
反思,我制定了以下下一步计划:
- 计划一:进一步完善商品推荐算法,包括引入更多的用户行为特征和商品属性。
- 计划二:优化推荐算法的计算性能,以适应大规模数据集的推荐需求。
- 计划三:与团队其他成员协作,将商品推荐模块整合到校园二手交易平台中,并进行系统级的测试和调优。
结束语
这七天的冲刺是一个充满挑战和学习的过程。通过研究和实现商品推荐算法,我深入理解了个性化推荐的原理和实践,并取得了一些令人满意的成果。在未来的工作中,我将继续不断学习和改进,为校园二手交易平台的用户提供更好的商品推荐体验。
代码
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}")
站立式会议照片
成员每日工作总结
222000432王宗舒
昨天到现在的进展 | 完成部分个人主页前后端对接。 |
---|---|
遇到的问题或困难 | 数据库数据不够多,有些情况测试不到 |
心得体会 | 对前后端如何交互运行,数据的传递等等更加熟悉了 |
明日计划 | 完成个人主页的前后端对接,和其它页面的串联 |
222000431罗佳佳
昨天到现在的进展 | 完成管理员页面的前后端显示。 |
---|---|
遇到的问题或困难 | 语句没问题,但是数据库数据就是无法提取。最后发现是实体类忘记+@Data注解 |
心得体会 | 遇到问题要冷静,实在不行就寻求队友帮助。 |
明日计划 | 完成管理员页面之间的连接。 |
222000232卢彧
昨天到现在的进展 | 完成评价的js部分与后端的接口 |
---|---|
遇到的问题或困难 | 上传图片最后会上传失败 |
心得体会 | :学会了用uploadfile传图片 |
明日计划 | 完成发布商品界面前后端交互 |
222000233邵菀姿
昨天到现在的进展 | 完成购物车到购买界面的前后端部分。 |
---|---|
遇到的问题或困难 | JSONarray数据提取困难,JSONarray无法转换为JSONobject进行提取;对微信开发者工具页间传参不够熟悉,导致传参不成功。 |
心得体会 | 多学学微信开发者工具的各种类型数据的使用方法以及各种数据的设置规则。 |
明日计划 | 完善并整合两个购买界面以及购物车管理界面。 |
222000125章文佳
昨天到现在的进展 | 尝试部署程序到云端 |
---|---|
遇到的问题或困难 | Python程序的部署较为复杂,需要了解详细的部署流程、环境配置和依赖管理等,其中包括设置正确的Python版本、安装必要的库、处理依赖关系以及配置服务器和运行环境等步骤。 |
心得体会 | 对于微信开发者来说,使用微信开发者工具的云托管是一个便捷的方式,但需要注意的是,由于其限制,无法上传大文件,这需要我们寻找其他解决方案,通过分片上传或者使用第三方存储服务来处理大文件的上传需求。 |
明日计划 | 继续学习如何部署数据到云端。 |
222000115林函
昨天到现在的进展 | 尝试部署程序到云端 |
---|---|
遇到的问题或困难 | Python程序的部署较为复杂,需要了解详细的部署流程、环境配置和依赖管理等,其中包括设置正确的Python版本、安装必要的库、处理依赖关系以及配置服务器和运行环境等步骤。 |
心得体会 | 对于微信开发者来说,使用微信开发者工具的云托管是一个便捷的方式,但需要注意的是,由于其限制,无法上传大文件,这需要我们寻找其他解决方案,通过分片上传或者使用第三方存储服务来处理大文件的上传需求。 |
明日计划 | 继续学习如何部署数据到云端。 |
222000127周洪宇昂
昨天到现在的进展 | 完成管理员页面的前后端显示。 |
---|---|
遇到的问题或困难 | 微信前端页面调整不熟悉,以及传参类型错误 |
心得体会 | 遇到问题要冷静,实在不行就寻求队友帮助。 |
明日计划 | 完成管理员页面之间的连接。 |
222000328崔玉玲
昨天到现在的进展 | 消息列表页面和接口的实现 |
---|---|
遇到的问题或困难 | 不知道要怎么获取后端数据实现冒消息气泡 |
心得体会 | 消息发送界面好难 |
明日计划 | 完成消息发送界面和点击事件 |