提交 4f6dd9d3 编写于 作者: S Superjom

change ` -> ~

上级 c126c520
#+title: 数据处理 #+title: 数据处理
* 数据集介绍 * 数据集介绍
数据集使用 `csv` 格式存储,其中各个字段内容如下: 数据集使用 ~csv~ 格式存储,其中各个字段内容如下:
- id: ad identifier - id: ad identifier
- click: 0/1 for non-click/click - click: 0/1 for non-click/click
...@@ -73,7 +73,7 @@ ID 类特征的特点是稀疏数据,但量比较大,直接使用 One-hot ...@@ -73,7 +73,7 @@ ID 类特征的特点是稀疏数据,但量比较大,直接使用 One-hot
''' '''
Generator category features. Generator category features.
Register all records by calling `register` first, then call `gen` to generate Register all records by calling ~register~ first, then call ~gen~ to generate
one-hot representation for a record. one-hot representation for a record.
''' '''
...@@ -131,10 +131,10 @@ ID 类特征的特点是稀疏数据,但量比较大,直接使用 One-hot ...@@ -131,10 +131,10 @@ ID 类特征的特点是稀疏数据,但量比较大,直接使用 One-hot
return self.max_dim return self.max_dim
#+END_SRC #+END_SRC
** 交叉类特征 ** 交叉类特征
LR 模型作为 Wide & Deep model 的 `wide` 部分,可以输入很 wide 的数据(特征空间的维度很大), LR 模型作为 Wide & Deep model 的 ~wide~ 部分,可以输入很 wide 的数据(特征空间的维度很大),
为了充分利用这个优势,我们将演示交叉组合特征构建成更大维度特征的情况,之后塞入到模型中训练。 为了充分利用这个优势,我们将演示交叉组合特征构建成更大维度特征的情况,之后塞入到模型中训练。
这里我们依旧使用模操作来约束最终组合出的特征空间的大小,具体实现是直接在 `IDfeatureGenerator` 中添加一个`gen_cross_feature` 的方法: 这里我们依旧使用模操作来约束最终组合出的特征空间的大小,具体实现是直接在 ~IDfeatureGenerator~ 中添加一个~gen_cross_feature~ 的方法:
#+BEGIN_SRC python #+BEGIN_SRC python
def gen_cross_fea(self, fea1, fea2): def gen_cross_fea(self, fea1, fea2):
...@@ -142,7 +142,7 @@ ID 类特征的特点是稀疏数据,但量比较大,直接使用 One-hot ...@@ -142,7 +142,7 @@ ID 类特征的特点是稀疏数据,但量比较大,直接使用 One-hot
return self.gen(key) return self.gen(key)
#+END_SRC #+END_SRC
比如,我们觉得原始数据中,`device_id` 和 `site_id` 有一些关联(比如某个 device 倾向于浏览特定 site), 比如,我们觉得原始数据中, ~device_id~ 和 ~site_id~ 有一些关联(比如某个 device 倾向于浏览特定 site),
我们通过组合出两者组合来捕捉这类信息。 我们通过组合出两者组合来捕捉这类信息。
** 特征维度 ** 特征维度
*** Deep submodel(DNN)特征 *** Deep submodel(DNN)特征
...@@ -171,12 +171,12 @@ ID 类特征的特点是稀疏数据,但量比较大,直接使用 One-hot ...@@ -171,12 +171,12 @@ ID 类特征的特点是稀疏数据,但量比较大,直接使用 One-hot
| Total | 1,040,000 | | Total | 1,040,000 |
|---------------------+-----------| |---------------------+-----------|
* 输入到 PaddlePaddle 中 * 输入到 PaddlePaddle 中
Deep 和 Wide 两部分均以 `sparse_binary_vector` 的格式[1]输入,输入前需要将相关特征拼合,模型最终只接受 3 个 input, Deep 和 Wide 两部分均以 ~sparse_binary_vector~ 的格式[1]输入,输入前需要将相关特征拼合,模型最终只接受 3 个 input,
分别是 分别是
1. `dnn input`,DNN 的输入 1. ~dnn input~,DNN 的输入
2. `lr input`, LR 的输入 2. ~lr input~, LR 的输入
3. `click`, 标签 3. ~click~, 标签
拼合特征的方法: 拼合特征的方法:
...@@ -202,4 +202,3 @@ Deep 和 Wide 两部分均以 `sparse_binary_vector` 的格式[1]输入,输入 ...@@ -202,4 +202,3 @@ Deep 和 Wide 两部分均以 `sparse_binary_vector` 的格式[1]输入,输入
[1] https://github.com/PaddlePaddle/Paddle/blob/develop/doc/api/v1/data_provider/pydataprovider2_en.rst [1] https://github.com/PaddlePaddle/Paddle/blob/develop/doc/api/v1/data_provider/pydataprovider2_en.rst
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册