专栏首页Soul Joy Hub深度推荐模型——FNN [ECIR 16]

深度推荐模型——FNN [ECIR 16]

视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8

import tensorflow as tf
from tensorflow import keras
from utils import *

EPOCH = 10
BATCH_SIZE = 32
VEC_DIM = 10
DNN_LAYERS = [64, 128, 64]
DROPOUT_RATE = 0.5

base, test = loadData()
# 所有的特征各个类别值个数之和
FEAT_CATE_NUM = base.shape[1] - 1
K = tf.keras.backend


def run():
    # 将所有的特征的各个类别值统一id化。x中每行为各特征的类别值的id
    val_x, val_y = getAllData(test)
    train_x, train_y = getAllData(base)

    model = keras.models.Sequential()
    model.add(keras.layers.Embedding(FEAT_CATE_NUM, VEC_DIM, input_length=val_x[0].shape[0]))
    model.add(keras.layers.Flatten())
    for units in DNN_LAYERS:
        model.add(keras.layers.Dense(units, activation='relu'))
        model.add(keras.layers.Dropout(DROPOUT_RATE))
    model.add(keras.layers.Dense(1, activation='sigmoid'))

    model.compile(loss='binary_crossentropy', optimizer=tf.train.AdamOptimizer(0.001), metrics=[keras.metrics.AUC()])
    tbCallBack = keras.callbacks.TensorBoard(log_dir='./logs',
                                             histogram_freq=0,
                                             write_graph=True,
                                             write_grads=True,
                                             write_images=True,
                                             embeddings_freq=0,
                                             embeddings_layer_names=None,
                                             embeddings_metadata=None)

    model.fit(train_x, train_y, batch_size=BATCH_SIZE, epochs=EPOCH, verbose=2, validation_data=(val_x, val_y),
              callbacks=[tbCallBack])


run()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CTR点击率预估论文集锦

    CTR预估对于搜索、推荐和广告都是非常重要的一个场景,近年来CTR预估技术更新迭代,层出不穷。这篇文章将记录CTR预估著名模型的相关论文。以下按照年份整理。

    用户3578099
  • 深度推荐模型——PNN [TOIS 16][交大]

    视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8

    用户1621453
  • 深度推荐模型——FFM

    视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8

    用户1621453
  • 深度推荐模型——FM

    视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8

    用户1621453
  • 深度推荐模型——FiBiNet[RecSys 19][Weibo]

    微博提出的FiBiNet相当于对FNN进行了两部分的改进: 1、SENET Layer。作者认为模型需要学习不同特征的一个重要程度,对重要特征加权,对蕴含信息...

    用户1621453
  • 深度推荐模型——AutoInt [CIKM 19][北大]

    视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8

    用户1621453
  • 深度推荐模型——xDeepFM [KDD 18][Microsoft]

    视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8

    用户1621453
  • 深度推荐模型——AFM [IJCAI 17][浙大、新加坡国立大学]

    视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#2XiWP

    用户1621453
  • 深度推荐模型——NFM [SIGIR 17][新加坡国立大学]

    视频讲解:https://www.yuque.com/chudi/tzqav9/ny150b#aalY8

    用户1621453

扫码关注云+社区

领取腾讯云代金券