f1 score 代码_腾讯广告算法大赛冠军代码解读:稠密特征工程
生活随笔
收集整理的這篇文章主要介紹了
f1 score 代码_腾讯广告算法大赛冠军代码解读:稠密特征工程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
什么是稠密特征?
本賽題中利用 word2vec 變換得到的特征維度設定為 n*64,因此得到的稠密特征也是一個 n*64 的矩陣。稠密的特性體現在,64 個維度上每一個維度都存在有意義的值,需要進行計算。如下圖:
稠密特征的特點是保留了盡可能多的信息,但是相應的也增加了很多的計算量,大大提高了計算的時間復雜度。
如何得到稠密特征?
本賽題中使用 word2vec 和 deepwalk 兩種模型來獲得稠密特征。
word2vec 旨在利用一個簡單的神經網絡模型,對特征按照神經元個數進行矩陣分解,得到的中間矩陣就是我們想要的稠密特征。
deepwalk 是一個圖模型,旨在表達節點之間的點和邊的關系??梢缘玫饺缦聢D的矩陣:
代碼
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 代码_腾讯广告算法大赛冠军代码解读:稠密特征工程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MSigDB是什么数据库
- 下一篇: 手机投屏到win10电脑上的方法