python协同过滤算法(仅供参考)

本文介绍了使用Python实现协同过滤推荐系统的基本步骤,包括数据预处理、相似度计算及推荐结果生成,帮助读者理解该算法在实际应用中的过程。

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

# -*- coding: utf-8 -*-
'''
@author: wp
协同过滤
'''

import pandas as pd
import numpy as np

class Xietonggl():
    def __init__(self,df,use_num ):
        self.df = df
        self.use_num = use_num
    
    def guanliandu(self,):
        df_array = np.array(self.df) #将数据矩阵化
        df_array_t = df_array.T  #矩阵转置
        user_guanxi = np.dot(df_array,df_array_t) #用户之间的关联度矩阵
        prod_guanxi = np.dot(df_array_t,df_array) #产品之间的关联度矩阵
        
        df_user = pd.DataFrame(user_guanxi,index = self.df.index,columns = self.df.index)#用户数据框
        df_prod = pd.DataFrame(prod_guanxi,index =self.df.columns,columns = self.df.columns)#产品数据框
        return df_user,df_prod
    def oneself(self,):
        pro = pd.DataFrame(self.df.loc[self.use_num])
        user_old = list(pro[pro[self.use_num] == 1].index) #用户自身使用的产品
        return pro,user_old
        
    def yonghu(self,):
        #找出关系最近的5个用户
        df_user,df_prod = self.guanliandu()
        pro,user_old = self.ones
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值