用Python实现svd++推荐算法

本文介绍了如何在Python中实现SVD++推荐算法,该算法在SVD基础上考虑了用户偏好,通过用户对电影的评分行为反映其喜好,以此提升推荐精度。通过目标函数和参数更新式来优化模型,旨在提供更精确的推荐效果。
摘要由CSDN通过智能技术生成

在SVD的基础上在用户特征矩阵上加入用户的偏好。某个用户对某个电影进行了评分,那么说明他看过这部电影,那么这样的行为事实上蕴含了一定的信息,因此我们可以这样来理解问题:评分的行为从侧面反映了用户的喜好,可以将这样的反映通过隐式参数的形式体现在模型中,从而得到一个更为精细的模型,便是 SVD++.
预测评分为:
在这里插入图片描述
目标函数:
在这里插入图片描述
参数更新式:
在这里插入图片描述

# -*- coding:utf-8 -*-

from __future__ import division, print_function

import numpy as np
from algorithm.estimator import Estimator


class SVDPlusPlus(Estimator):
    """
    属性
    ---------
    n_factors : 隐式因子数
    n_epochs : 迭代次数
    lr : 学习速率
    reg : 正则因子
    """

    def __init__(self, n_factors=20, n_epochs=20,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值