From 6e023ec89ea8dcf2bd99291ab64b812352e5ec5b Mon Sep 17 00:00:00 2001 From: yinhaofeng <1841837261@qq.com> Date: Fri, 25 Sep 2020 03:50:46 +0000 Subject: [PATCH] picture --- models/rank/fm/config.yaml | 4 +- models/rank/fm/picture/1.jpg | Bin 0 -> 6802 bytes models/rank/fm/picture/2.jpg | Bin 0 -> 3203 bytes models/rank/fm/picture/3.jpg | Bin 0 -> 11593 bytes models/rank/fm/picture/4.jpg | Bin 0 -> 26396 bytes models/rank/fm/readme.md | 344 +++++++++++++---------------------- 6 files changed, 128 insertions(+), 220 deletions(-) create mode 100644 models/rank/fm/picture/1.jpg create mode 100644 models/rank/fm/picture/2.jpg create mode 100644 models/rank/fm/picture/3.jpg create mode 100644 models/rank/fm/picture/4.jpg diff --git a/models/rank/fm/config.yaml b/models/rank/fm/config.yaml index 8b72ab5d..6d4d96bf 100644 --- a/models/rank/fm/config.yaml +++ b/models/rank/fm/config.yaml @@ -35,7 +35,7 @@ hyper_parameters: # 用户自定义配置 optimizer: class: Adam - learning_rate: 0.0001 + learning_rate: 0.001 sparse_feature_number: 1086460 sparse_feature_dim: 9 is_sparse: False @@ -48,7 +48,7 @@ mode: [train_runner,infer_runner] runner: - name: train_runner class: train - epochs: 1 + epochs: 2 device: cpu init_model_path: "" save_checkpoint_interval: 1 diff --git a/models/rank/fm/picture/1.jpg b/models/rank/fm/picture/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..09340a5e3e10abb9ef43926187048b48694f9b45 GIT binary patch literal 6802 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 literal 0 HcmV?d00001 diff --git a/models/rank/fm/picture/2.jpg b/models/rank/fm/picture/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2096e6a39bc96f72a903c7c0da85670323472452 GIT binary patch literal 3203 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 tkm!09SNif-9vC~_u<$ z1f_}#(9*`<0t!keJk=Xf16Q%pV`dsbCyn+fCwU(&$#t427&26iq7s+FRDsh_5m)IK z!{+!H$v{;e1Pv-M$HP^D+y5ZGb=C7I`Yzl$lbLB%RaKRLS$Uba3LO-eiAzo%TZBMK z!!0nsDwe%AHS?3MCedu7@*rBsR-Z>E!=_(6&!S5l7mSv*>;IK2IM#B6q%!Ih1>fF%)G58@mGnlX#)3$s(uo5)
    LBL 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 E3sn_TivR!s literal 0 HcmV?d00001 diff --git a/models/rank/fm/picture/4.jpg b/models/rank/fm/picture/4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c4273eb9ca5d27d29bc43f06e5cd98261fc036a GIT binary patch literal 26396 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 literal 0 HcmV?d00001 diff --git a/models/rank/fm/readme.md b/models/rank/fm/readme.md index 6dd491ee..9081d811 100644 --- a/models/rank/fm/readme.md +++ b/models/rank/fm/readme.md @@ -1,6 +1,37 @@ # 基于FM模型的点击率预估模型 -## 介绍 +以下是本例的简要目录结构及说明: + +``` +├── sample_data #样例数据 + ├── train + ├── sample_train.txt #训练数据样例 + ├── preprocess.py #数据处理程序 + ├── run.sh #数据一键处理脚本 + ├── download_preprocess.py #数据下载脚本 + ├── get_slot_data.py #格式整理程序 +├── __init__.py +├── README.md #文档 +├── model.py #模型文件 +├── config.yaml #配置文件 +``` + +注:在阅读该示例前,建议您先了解以下内容: + +[paddlerec入门教程](https://github.com/PaddlePaddle/PaddleRec/blob/master/README.md) + +## 内容 + +- [模型简介](#模型简介) +- [数据准备](#数据准备) +- [运行环境](#运行环境) +- [快速开始](#快速开始) +- [模型组网](#模型组网) +- [效果复现](#效果复现) +- [进阶使用](#进阶使用) +- [FAQ](#FAQ) + +## 模型简介 `CTR(Click Through Rate)`,即点击率,是“推荐系统/计算广告”等领域的重要指标,对其进行预估是商品推送/广告投放等决策的基础。简单来说,CTR预估对每次广告的点击情况做出预测,预测用户是点击还是不点击。CTR预估模型综合考虑各种因素、特征,在大量历史数据上训练,最终对商业决策提供帮助。本模型实现了下述论文中的FM模型: ```text @@ -20,244 +51,117 @@ ```bash