欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

f1 score 代码_腾讯广告算法大赛冠军代码解读:稠密特征工程

发布时间:2023/12/15 编程问答 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 f1 score 代码_腾讯广告算法大赛冠军代码解读:稠密特征工程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

什么是稠密特征?

本赛题中利用 word2vec 变换得到的特征维度设定为 n*64,因此得到的稠密特征也是一个 n*64 的矩阵。稠密的特性体现在,64 个维度上每一个维度都存在有意义的值,需要进行计算。如下图:

稠密特征的特点是保留了尽可能多的信息,但是相应的也增加了很多的计算量,大大提高了计算的时间复杂度。

如何得到稠密特征?

本赛题中使用 word2vec 和 deepwalk 两种模型来获得稠密特征。

word2vec 旨在利用一个简单的神经网络模型,对特征按照神经元个数进行矩阵分解,得到的中间矩阵就是我们想要的稠密特征。

deepwalk 是一个图模型,旨在表达节点之间的点和边的关系。可以得到如下图的矩阵:

代码

word2vec

model = Word2Vec(sentence, size=L, window=10, min_count=1, workers=10,iter=10)

deepwalk

# 构建图dic={}for item in log[[f1,f2]].values:try:str(int(item[1]))str(int(item[0]))except:continuetry:dic['item_'+str(int(item[1]))].add('user_'+str(int(item[0])))except:dic['item_'+str(int(item[1]))]=set(['user_'+str(int(item[0]))])try:dic['user_'+str(int(item[0]))].add('item_'+str(int(item[1])))except:dic['user_'+str(int(item[0]))]=set(['item_'+str(int(item[1]))]) # 构建路径 path_length=10 sentences=[]length=[]for key in dic:sentence=[key]while len(sentence)!=path_length:key=dic[sentence[-1]][random.randint(0,dic_cont[sentence[-1]]-1)]if len(sentence)>=2 and key == sentence[-2]:breakelse:sentence.append(key)sentences.append(sentence)length.append(len(sentence))if len(sentences)%100000==0:print(len(sentences)) # 使用 word2vec 训练Deepwalk模型random.shuffle(sentences)model = Word2Vec(sentences, size=L, window=4,min_count=1,sg=1, workers=10,iter=20) # 对模型进行输出 out_df=pd.DataFrame(w2v)

赛题里是如何使用稠密特征的?

本赛题是直接将稠密特征放入 MLP 中计算的

if hparams.dense_features is not None:feed_dic[self.dense_features]=train_dense_features[idx*hparams.batch_size:min((idx+1)*hparams.batch_size,len(train))] ... loss,_,norm=sess.run([self.score,self.update,self.grad_norm],feed_dict=feed_dic)

本赛题中涉及到到稠密特征?

  • uid_w2v_embedding_aid_64_1
  • uid_w2v_embedding_aid_64_2
  • ...
  • uid_w2v_embedding_aid_64_64
  • uid_aid_aid_deepwalk_embedding_64_1
  • uid_aid_aid_deepwalk_embedding_64_2
  • ...
  • uid_aid_aid_deepwalk_embedding_64_64
  • periods_on_1
  • periods_on_2
  • ...
  • periods_on_48

总结

以上是生活随笔为你收集整理的f1 score 代码_腾讯广告算法大赛冠军代码解读:稠密特征工程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。