als.py 文件源码

python
阅读 34 收藏 0 点赞 0 评论 0

项目:RecSys 作者: arvidzt 项目源码 文件源码
def _update_user_feature(self):
        """Fix item features and update user features
        """
        for i in xrange(self.n_user):
            _, item_idx = self.ratings_csr_[i, :].nonzero()
            # number of ratings of user i
            n_u = item_idx.shape[0]
            if n_u == 0:
                logger.debug("no ratings for user %d", i)
                continue
            item_features = self.item_features_.take(item_idx, axis=0)
            ratings = self.ratings_csr_[i, :].data - self.mean_rating_

            A_i = (np.dot(item_features.T, item_features) +
                   self.reg * n_u * np.eye(self.n_feature))
            V_i = np.dot(item_features.T, ratings)
            self.user_features_[i, :] = np.dot(inv(A_i), V_i)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号