Giter Site home page Giter Site logo

datawhalechina / fun-rec Goto Github PK

View Code? Open in Web Editor NEW
3.4K 33.0 718.0 103.83 MB

推荐系统入门教程,在线阅读地址:https://datawhalechina.github.io/fun-rec/

License: Other

Python 11.06% Shell 0.05% Vue 2.90% Less 0.01% CSS 0.73% JavaScript 0.89% HTML 0.05% Jupyter Notebook 82.58% TypeScript 1.46% SCSS 0.28%
recommender-system tensorflow tianchi-competition deep-learning algorithm-engineering interview-questions recommendation-algorithms machine-learning

fun-rec's People

Contributors

chungkingexpress avatar evan-wyl avatar gh1995 avatar hilbert-yaa avatar kenken-xr avatar lsgomyp avatar luzixiao avatar lyons-t avatar maxxbaba avatar morningsky avatar pearfl avatar ruyiluo avatar storyandwine avatar swallown1 avatar syc1123 avatar wangych6 avatar zhongqiangwu960812 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fun-rec's Issues

训练代码的输入有问题?

将输入数据转化成字典的形式输入

train_model_input = {name: data[name] for name in dense_features + sparse_features}
# 模型训练
history.fit(train_model_input, train_data['label'].values,
        batch_size=64, epochs=5, validation_split=0.2, )  

这里的 data 应该是处理好的 train_data吧?

fun-rec V1.0 TODO

项目最新版内容

初版内容地址:https://datawhalechina.github.io/fun-rec/#/

以上述目录为准,将之前已完成的内容全部都重新检查优化一遍,未完成的内容都补充完整,预计4月底完成初版所有内容。优化完的内容会逐步的更新到新版目录中。

所有代码重新以给定的包版本,规范的数据集、以一种容易理解的pipline全部重新写一遍。

当前未完成内容有:

  • 推荐系统的意义【完成】
  • 推荐系统的应用【完成】
  • 推荐系统的架构【完成】
  • 推荐系统技术栈【完成】
  • Swing(Graph-based)【完成】
  • FM召回【完成一半,待优化】
  • word2vec原理【完成】
  • Airbnb召回【未完成】
  • 经典双塔【未完成】
  • Youtube双塔【完成一半,待优化】
  • PinSAGE【完成】
  • TDM【完成】
  • xDeepFM【完成】
  • DISN【完成】

当前完成一半待优化的内容:

  • YoutubeDNN召回【完成】
  • EGES【完成】
  • SDM【完成】
  • AutoInt【完成】
  • FiBiNET【完成】
  • DIEN【完成】
  • 规则类召回【完成一半,待优化】
  • 打散策略【完成一半,待优化】
  • 任务监控与调度【完成一半,待优化】

其余所有内容初版基本完成都需要进行优化

内容优化后提交注意事项

  1. 所有内容提交直接在github上进行PR
  2. 对于优化内容的同学,应该先找到老版本中是否已经有沉淀好的文档或者代码,对已经存在的内容进行优化(有些不在上面的,可能是有人在做了),优化内容不需要重新创建新文档,直接在原文档的基础上进行优化即可
  3. 优化内容主要包括,检查文档内容是否存在错误,存在错误需要及时修改;对于内容描述不全的内容,需要通过查阅相关资料对器进行补充
  4. 对于想参与内容优化的同学,可以联系 Fun-Rec 群主,分配目前还没有被其他同学选择优化的内容,未加群的可以先加下面的微信,恢复Fun-Rec

请问概率计算函数是怎么定义的呢

在 DSSM 模型的实战代码中,负样本采样时使用了一个概率计算函数cal_pos,但是在上下文中好像没有定义和导入的操作,想问一下这个函数具体是怎么定义的呢?
image

请问这个package是什么?

codes/news_recsys/news_rec_server/recprocess/recall/u2i_usercf.ipynb notebook里有这个依赖:

from metric import PrintMetric

但是我找不到正确的metric包,我用pip install metric安装的metric包里没有PrintMetric

请问这个包在哪里下载?

谢谢啦

求修正一下格式

作者大大,您好!项目中很多地方的公式都已经显示不出来了,求修正一下,谢谢!

ItemCF 编程实现的错误

复制了 ItemCF 的代码,运行出现了以下错误:
屏幕截图 2024-02-26 102257

看了代码发现是 target_user 有问题,这里 Alice 前后有空格,导致读不到正常的 user
屏幕截图 2024-02-26 102403

公式错误

在面试题部分,逻辑回归推导有一步错误表示

无数bug,慎入

无数bug,慎入!!!
无数bug,慎入!!!
无数bug,慎入!!!

数据下载

请问天池的该比赛结束之后,还有别的途径下载数据吗

【资料自荐】fun-rec项目或许可以加入如下repo

同学你好,很高兴能够看到这个开源项目能够帮助大家入门推荐系统。
在此,希望自荐我的个人开源项目:https://github.com/Doragd/Algorithm-Practice-in-Industry
询问是否能够加入到fun-rec项目中

【为什么想加入】:推荐系统是一个非常偏工业界实践的领域,除开基础知识和代码实践外,我觉得非常有用的资料是各个大厂的技术分享文章以及搜广推顶会上的文章。因此,我认为我的项目或许能够帮助fun-rec完善这一部分。
【我的项目是什么】:我的项目收集了:

  • 知乎上的关于搜广推算法系列串讲/经典问题
  • 各个大厂的搜广推实践分享,大概有400多篇吧(2017-2023)
  • 搜广推顶会列表以及翻译:2012-2023,涵盖了sigir/www/recsys/kdd/cikm/wsdm等

希望同学可以不吝赐教我的项目:https://github.com/Doragd/Algorithm-Practice-in-Industry
希望以一种合适的方式能够加入fun-rec中,为这个项目添砖加瓦。

此致,
Gordon Lee

可以上传pdf文件吗?

md文件中较多图片无法加载,一些公式并没有如预想的显示,是否可以上传pdf版本?非常感谢!

Youbute dnn的一个疑问

image
这里提到可以增加item的特征, 但是我在使用时出现报错 "Now YoutubeNN only support 1 item feature like item_id", 使用的版本是deepmatch(0.3.1), deepctr(0.9.3)
另一个问题是example_age的使用, 我理解这是一个item 的特征, 那么我是不是可以将其他的特征封装到user_feature_columns里面呢

余弦相似度公式错误

余弦相似度 余弦相似度衡量了两个向量的夹角,夹角越小越相似。首先从集合的角度描述余弦相似度,相比于Jaccard公式来说就是分母有差异,不是两个用户交互商品的并集的数量,而是两个用户分别交互的商品数量的乘积,公式如下:
$sim_{uv}=\frac{|N(u)| \cap |N(v)|}{\sqrt{|N(u)|\cdot|N(v)|}}$
这个公式有误,应该修改为:
$sim_{uv}=\frac{|N(u) \cap N(v)|}{\sqrt{|N(u)| \cdot|N(v)|}}$

req.txt

有pip freeze >> req.txt文件吗

关于协同过滤中计算最终得分的问题

例如基于物品的协同过滤中,通过相似的k个物品计算用户对这个物品的分数,但是如果用户对于对于相似物品的评分也是nan的时候,是作为0处理吗?还有在完整实现代码这种,为什么计算分数就仅仅只是相似度的一个求和,而没有使用说的加权以及减去平均的这种做法呢?

基于新闻推荐 特征工程

特征工程中只有基于召回结果构建的监督数据集label都为0,没有找到构建label为1的日志数据的这部分代码,是省略了吗?

1.1.3节 矩阵分解中代码有误

以下代码完成了对self.mu的初始化

cnt = 0  # 统计总的打分数,初始化mu用
for user, items in self.rating_data.items():
    self.P[user] = [random.random() / math.sqrt(self.F)
                    for x in range(0, self.F)]
    self.bu[user] = 0
    cnt += len(items)
    for item, rating in items.items():
        # insert self.mu += rating
        if item not in self.Q:
            self.Q[item] = [random.random() / math.sqrt(self.F)
                            for x in range(0, self.F)]
            self.bi[item] = 0
self.mu /= cnt

此时的self.mu为0,那么执行self.mu /= cnt后的结果仍然是0,所以应该在第8行加入self.mu += rating,把self.mu变成分数之和。

1.3.1 AFM.md 的2.3里损失函数错了

$$ L = \sum_{x\in T} (\hat{y}{afm}(x) - y(x))^2 + \lambda ||x||^2 $$,后面那个不是对x正则,是W。应该是 $$ L = \sum{x\in T} (\hat{y}_{afm}(x) - y(x))^2 + \lambda ||W||^2 $$

4.1 ML与DL基础

bagging与boosting分别从什么角度降低过拟合? bagging降低方差,boosting降低方差
bagging降低variance。boosting降低bias来提升预测精度。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.