用户相似度分析

本文介绍了一种基于Python的用户相似度分析方法,通过计算用户之间的共同购买物品数量来衡量相似度。利用openpyxl库从Excel文件中读取用户行为记录,并通过组合数学和函数式编程方法找出相似度最高的多个用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用户相似度分析

计算用户购买物品的相似度

假设当前文件夹中有“用户行为记录.xlsx”,要求统计所有用户中相似度最高的n个用户及其共同购买物品数量,其中n可以指定为大于或等于2的整数。相似度高的定义为共同购买物品数量最多。

文件“用户行为记录.xlsx”里的数据内容](https://img-blog.csdnimg.cn/2021042010032098.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N4eTg2MTA0NjMxNw==,size_16,color_FFFFFF,t_70)

程序编写

使用Python扩展库openpyxl读取Excell文件中的数据,返回一个字典。在字典中,使用用户名字作为“键“,使用包含该用户购买物品名称的集合作为”值“。读取数据时,跳过表头,对于每一行有效数据,获取每一行的物品名称和用户清单,对该物品的购买用户进行分割得到用户列表,列表中的每个用户都购买过该行对应的物品。

from itertools import combinations
from functools import reduce
import openpyxl
from openpyxl import Workbook

def getUsers(filename):
    users = dict()
    # 打开xlsx文件,并获取第一个worksheet
    wb = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值