Skip to content

Commit 2b41802

Browse files
committed
内容优化
1 parent 968d8ae commit 2b41802

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+941
-2380
lines changed
73.2 KB
Loading

docs/_images/eges_model.png

84.2 KB
Loading
-91.7 KB
Loading

docs/_images/tiger_rqvae.png

105 KB
Loading
49.6 KB
Loading
30.7 KB
Loading

docs/_sources/chapter_1_retrieval/1.cf/1.itemcf.rst.txt

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -234,35 +234,17 @@ ItemCF的实现流程主要包含以下两个步骤:
234234
target_item_pred = target_user_mean_rating + weighted_scores / corr_values_sum
235235
print(f'用户{target_user}对物品{target_item}的预测评分为:{target_item_pred}')
236236
237-
4. 训练模型
237+
4. 训练和评估模型
238238

239239
.. raw:: latex
240240

241241
\diilbookstyleinputcell
242242

243243
.. code:: python
244244
245-
import os
246-
import sys
247-
import funrec
248-
from funrec.utils import build_metrics_table
245+
from funrec import run_experiment
249246
250-
# 加载配置
251-
config = funrec.load_config('item_cf')
252-
253-
# 加载数据
254-
train_data, test_data = funrec.load_data(config.data)
255-
256-
# 准备特征
257-
feature_columns, processed_data = funrec.prepare_features(config.features, train_data, test_data)
258-
259-
# 训练模型
260-
models = funrec.train_model(config.training, feature_columns, processed_data)
261-
262-
# 评估模型
263-
metrics = funrec.evaluate_model(models, processed_data, config.evaluation, feature_columns)
264-
265-
print(build_metrics_table(metrics))
247+
run_experiment('item_cf')
266248
267249
268250
.. raw:: latex
@@ -504,27 +486,7 @@ Score的计算,它通过分析用户-物品二部图中的swing结构来度量
504486

505487
.. code:: python
506488
507-
import os
508-
import sys
509-
import funrec
510-
from funrec.utils import build_metrics_table
511-
512-
# 加载配置
513-
config = funrec.load_config('swing')
514-
515-
# 加载数据
516-
train_data, test_data = funrec.load_data(config.data)
517-
518-
# 准备特征
519-
feature_columns, processed_data = funrec.prepare_features(config.features, train_data, test_data)
520-
521-
# 训练模型
522-
models = funrec.train_model(config.training, feature_columns, processed_data)
523-
524-
# 评估模型
525-
metrics = funrec.evaluate_model(models, processed_data, config.evaluation, feature_columns)
526-
527-
print(build_metrics_table(metrics))
489+
run_experiment('swing')
528490
529491
530492
.. raw:: latex

docs/_sources/chapter_1_retrieval/1.cf/2.usercf.rst.txt

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -231,35 +231,17 @@ UserCF看起来很简单,但有个大问题:当用户数量很大时,计
231231
target_item_pred = target_user_mean_rating + weighted_scores / corr_values_sum
232232
print(f'用户{target_user}对物品{target_item}的预测评分为:{target_item_pred:.4f}')
233233
234-
5. 训练模型
234+
5. 训练和评估模型
235235

236236
.. raw:: latex
237237

238238
\diilbookstyleinputcell
239239

240240
.. code:: python
241241
242-
import os
243-
import sys
244-
import funrec
245-
from funrec.utils import build_metrics_table
242+
from funrec import run_experiment
246243
247-
# 加载配置
248-
config = funrec.load_config('user_cf')
249-
250-
# 加载数据
251-
train_data, test_data = funrec.load_data(config.data)
252-
253-
# 准备特征
254-
feature_columns, processed_data = funrec.prepare_features(config.features, train_data, test_data)
255-
256-
# 训练模型
257-
models = funrec.train_model(config.training, feature_columns, processed_data)
258-
259-
# 评估模型
260-
metrics = funrec.evaluate_model(models, processed_data, config.evaluation, feature_columns)
261-
262-
print(build_metrics_table(metrics))
244+
run_experiment('user_cf')
263245
264246
265247
.. raw:: latex

docs/_sources/chapter_1_retrieval/1.cf/3.mf.rst.txt

Lines changed: 5 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -115,27 +115,9 @@ FunkSVD 在 MovieLens 数据集上的应用
115115

116116
.. code:: python
117117
118-
import os
119-
import sys
120-
import funrec
121-
from funrec.utils import build_metrics_table
118+
from funrec import run_experiment
122119
123-
# 加载配置
124-
config = funrec.load_config('funksvd')
125-
126-
# 加载数据
127-
train_data, test_data = funrec.load_data(config.data)
128-
129-
# 准备特征
130-
feature_columns, processed_data = funrec.prepare_features(config.features, train_data, test_data)
131-
132-
# 训练模型
133-
models = funrec.train_model(config.training, feature_columns, processed_data)
134-
135-
# 评估模型
136-
metrics = funrec.evaluate_model(models, processed_data, config.evaluation, feature_columns)
137-
138-
print(build_metrics_table(metrics))
120+
run_experiment('funksvd')
139121
140122
141123
.. raw:: latex
@@ -148,7 +130,7 @@ FunkSVD 在 MovieLens 数据集上的应用
148130
+---------------+--------------+-----------+----------+----------------+---------------+
149131
| hit_rate@10 | hit_rate@5 | ndcg@10 | ndcg@5 | precision@10 | precision@5 |
150132
+===============+==============+===========+==========+================+===============+
151-
| 0.0026 | 0.0018 | 0.0013 | 0.001 | 0.0003 | 0.0004 |
133+
| 0.0022 | 0.0012 | 0.0012 | 0.0009 | 0.0002 | 0.0002 |
152134
+---------------+--------------+-----------+----------+----------------+---------------+
153135
154136
@@ -160,21 +142,7 @@ BiasSVD 在 MovieLens 数据集上的应用
160142

161143
.. code:: python
162144
163-
config = funrec.load_config('biassvd')
164-
165-
# 加载数据
166-
train_data, test_data = funrec.load_data(config.data)
167-
168-
# 准备特征
169-
feature_columns, processed_data = funrec.prepare_features(config.features, train_data, test_data)
170-
171-
# 训练模型
172-
models = funrec.train_model(config.training, feature_columns, processed_data)
173-
174-
# 评估模型
175-
metrics = funrec.evaluate_model(models, processed_data, config.evaluation, feature_columns)
176-
177-
print(build_metrics_table(metrics))
145+
run_experiment('biassvd')
178146
179147
180148
.. raw:: latex
@@ -187,6 +155,6 @@ BiasSVD 在 MovieLens 数据集上的应用
187155
+---------------+--------------+-----------+----------+----------------+---------------+
188156
| hit_rate@10 | hit_rate@5 | ndcg@10 | ndcg@5 | precision@10 | precision@5 |
189157
+===============+==============+===========+==========+================+===============+
190-
| 0.001 | 0.001 | 0.001 | 0.001 | 0.0001 | 0.0002 |
158+
| 0.0005 | 0.0003 | 0.0004 | 0.0003 | 0 | 0.0001 |
191159
+---------------+--------------+-----------+----------+----------------+---------------+
192160

docs/_sources/chapter_1_retrieval/2.embedding/1.i2i.rst.txt

Lines changed: 5 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -92,27 +92,9 @@ Item2Vec直接采用Word2Vec的Skip-Gram架构,但在序列构建上有所简
9292

9393
.. code:: python
9494
95-
import os
96-
import sys
97-
import funrec
98-
from funrec.utils import build_metrics_table
95+
from funrec import run_experiment
9996
100-
# 加载配置
101-
config = funrec.load_config('item2vec')
102-
103-
# 加载数据
104-
train_data, test_data = funrec.load_data(config.data)
105-
106-
# 准备特征
107-
feature_columns, processed_data = funrec.prepare_features(config.features, train_data, test_data)
108-
109-
# 训练模型
110-
models = funrec.train_model(config.training, feature_columns, processed_data)
111-
112-
# 评估模型
113-
metrics = funrec.evaluate_model(models, processed_data, config.evaluation, feature_columns)
114-
115-
print(build_metrics_table(metrics))
97+
run_experiment('item2vec')
11698
11799
118100
.. raw:: latex
@@ -125,7 +107,7 @@ Item2Vec直接采用Word2Vec的Skip-Gram架构,但在序列构建上有所简
125107
+---------------+--------------+-----------+----------+----------------+---------------+
126108
| hit_rate@10 | hit_rate@5 | ndcg@10 | ndcg@5 | precision@10 | precision@5 |
127109
+===============+==============+===========+==========+================+===============+
128-
| 0.0066 | 0.0016 | 0.0023 | 0.0007 | 0.0007 | 0.0003 |
110+
| 0.0148 | 0.0082 | 0.0064 | 0.0041 | 0.0015 | 0.0016 |
129111
+---------------+--------------+-----------+----------+----------------+---------------+
130112
131113
@@ -221,27 +203,7 @@ EGES在淘宝的实际部署效果显著:在包含十亿级训练样本的大
221203

222204
.. code:: python
223205
224-
import os
225-
import sys
226-
import funrec
227-
from funrec.utils import build_metrics_table
228-
229-
# 加载配置
230-
config = funrec.load_config('eges')
231-
232-
# 加载数据
233-
train_data, test_data = funrec.load_data(config.data)
234-
235-
# 准备特征
236-
feature_columns, processed_data = funrec.prepare_features(config.features, train_data, test_data)
237-
238-
# 训练模型
239-
models = funrec.train_model(config.training, feature_columns, processed_data)
240-
241-
# 评估模型
242-
metrics = funrec.evaluate_model(models, processed_data, config.evaluation, feature_columns)
243-
244-
print(build_metrics_table(metrics))
206+
run_experiment('eges')
245207
246208
247209
.. raw:: latex
@@ -254,7 +216,7 @@ EGES在淘宝的实际部署效果显著:在包含十亿级训练样本的大
254216
+---------------+--------------+-----------+----------+----------------+---------------+
255217
| hit_rate@10 | hit_rate@5 | ndcg@10 | ndcg@5 | precision@10 | precision@5 |
256218
+===============+==============+===========+==========+================+===============+
257-
| 0.0141 | 0.0066 | 0.0058 | 0.0035 | 0.0014 | 0.0013 |
219+
| 0.0169 | 0.0123 | 0.0102 | 0.0088 | 0.0017 | 0.0025 |
258220
+---------------+--------------+-----------+----------+----------------+---------------+
259221
260222

0 commit comments

Comments
 (0)