当前位置: 首页 > ds >正文

python兴趣匹配算法

python兴趣匹配算法,用于推荐好友,短视频推荐等等领域

功能列表:

1.用户类的定义,存储用户的基本信息和兴趣。
2.计算两个用户之间兴趣的匹配分数,比较每一位是否相同。
3.根据匹配分数对候选人进行排序。
4.提供交互式输入,让用户输入自己的兴趣模式。
5.预定义候选人列表,并进行匹配演示。
6.输出匹配结果的排名,显示每个候选人的匹配分数。

step1:C:\Users\wangrusheng\PycharmProjects\FastAPIProject1\hello.py

class User:def __init__(self, name, gender, interests):self.name = nameself.gender = genderself.interests = interestsdef get_match_score(self, other):return sum(c1 == c2 for c1, c2 in zip(self.interests, other.interests))def match_users(current_user, candidates):return sorted(candidates, key=lambda u: u.get_match_score(current_user), reverse=True)def run_demo():my_interest = input("请输入你的兴趣模式(7位0/1,例如1011001):\n")current_user = User("我", "MALE", my_interest)candidates = [User("张三", "MALE", "1011001"),User("李四", "MALE", "1110001"),User("王五", "MALE", "0011011"),User("赵六", "MALE", "1011000")]matched = match_users(current_user, candidates)print("\n匹配结果排名:")for i, user in enumerate(matched, 1):score = current_user.get_match_score(user)print(f"{i}. {user.name} (匹配度:{score}/7)")if __name__ == "__main__":run_demo()

step2:运行结果

(.venv) PS C:\Users\wangrusheng\PycharmProjects\FastAPIProject1> python hello.py
请输入你的兴趣模式(7位0/1,例如1011001):
1011001匹配结果排名:
1. 张三 (匹配度:7/7)
2. 赵六 (匹配度:6/7)
3. 李四 (匹配度:5/7)
4. 王五 (匹配度:5/7)
(.venv) PS C:\Users\wangrusheng\PycharmProjects\FastAPIProject1> python hello.py
请输入你的兴趣模式(7位0/1,例如1011001):
1100001匹配结果排名:
1. 李四 (匹配度:6/7)
2. 张三 (匹配度:4/7)
3. 赵六 (匹配度:3/7)
4. 王五 (匹配度:2/7)
(.venv) PS C:\Users\wangrusheng\PycharmProjects\FastAPIProject1>

end

http://www.xdnf.cn/news/1099.html

相关文章:

  • <四级英语词汇> 2025.4.22
  • Cesium学习笔记——坐标系统及坐标转换
  • 文献×汽车 | 基于 ANSYS 的多级抛物线板簧系统分析
  • 【深度学习】#8 循环神经网络
  • 日常记录-logback脱敏
  • 【扫描件批量改名】批量识别扫描件PDF指定区域内容,用识别的内容修改PDF文件名,基于C++和腾讯OCR的实现方案,超详细
  • 4.22学习总结
  • Spring Web MVC入门
  • Apache SeaTunnel:新一代开源、高性能数据集成工具
  • 【2025最新Java面试八股】如何理解MySQL的MVCC机制?
  • 安宝特案例 | 某知名日系汽车制造厂,借助AR实现智慧化转型
  • Oracle--SQL性能优化与提升策略
  • 类加载器与jvm的内存
  • 数据库性能优化(sql优化)_分布式优化思路02_yxy
  • uniapp开发2--uniapp中的条件编译总结
  • 探索科技的边界:代理IP与汽车产业链的创新之旅
  • 使用 LlamaIndex Workflows 与 Elasticsearch
  • LeetCode 热题 100_分割等和子集(89_416_中等_C++)(动态规划)
  • 数据孤岛、技术断层、ROI迷雾:传统企业数字化转型的三大坑,如何破局?
  • JAVA设计模式——(二)组合模式
  • 【MQ篇】RabbitMQ之简单模式!
  • 多模态知识图谱:重构大模型RAG效能新边界
  • 【Go】重难点知识汇总
  • python包管理器,conda和uv 的区别
  • JDBC对数据的增删改查操作:从Statement到PrepareStatement
  • Qt开发:软件崩溃时,如何生成dump文件
  • IDEA中如何统一项目名称/复制的项目如何修改根目录名称
  • 利用 SSH 实现 WordPress 网站的全面安全管理
  • 【Web API系列】Web Shared Storage API 深度解析:WindowSharedStorage 接口实战指南
  • 云平台一键部署【DiffSynth-Studio】支持wan2.1视频生成及视频lora训练