首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >推荐系统推荐功能

推荐系统推荐功能
EN

Stack Overflow用户
提问于 2022-06-06 20:02:06
回答 1查看 68关注 0票数 0

我正在使用DCN开发推荐系统,下面是本教程https://www.tensorflow.org/recommenders/examples/dcn

但他的教程缺乏推荐功能,我可以通过user_id和命令,它可以输出预测。类似于正在发生的basic_rating教程https://github.com/tensorflow/recommenders/blob/main/docs/examples/basic_ranking.ipynb

在DCN中也有这样的方法吗?

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2022-08-30 09:48:11

我对自定义数据集使用了dcn模型,但遵循了本教程。

以下是模型培训代码(从dcn教程中粘贴的副本):

代码语言:javascript
运行
复制
dcn_result = run_models(use_cross_layer=True,
                        deep_layer_sizes=[192, 192])


def run_models(use_cross_layer, deep_layer_sizes, projection_dim=None, num_runs=5):
    models = []
    rmses = []

    for i in range(num_runs):
        model = DCN(use_cross_layer=use_cross_layer, 
                    deep_layer_sizes=deep_layer_sizes, 
                    projection_dim=projection_dim)
        
        model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate))
        
        models.append(model)
        
        model.fit(cached_train, epochs=epochs, verbose=False)
        
        metrics = model.evaluate(cached_test, return_dict=True)
        
        rmses.append(metrics["RMSE"])

    
    mean, stdv = np.average(rmses), np.std(rmses)

    return {"model": models, "mean": mean, "stdv": stdv}

在此之后,您可以从经过培训的模型列表中选择一个特定的模型,例如:

代码语言:javascript
运行
复制
model = dcn_result['model'][3]

然后,您可以通过输入功能将字典传递给模型,以获得分数的推荐,例如:

代码语言:javascript
运行
复制
test_ratings = model({"user_id": np.array(["00012a2ce6f8dcda20d059ce98491703"]),
"customer_city":np.array(["sao paulo"])})

for product, score in test_ratings:
       print(f"{product}: {score}")

--这将产生输出:

代码语言:javascript
运行
复制
43ee88561093499d9e571d4db5f20b79: [[1.3206882]]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72522908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档