kdd 2020 常用分析代码

user_col = 'user_id'
item_col = 'item_id'
user_item_ = click_test.groupby(user_col)[item_col].agg(set)

kdd 2020 常用分析代码_第1张图片

a = pd.DataFrame({'a':[1,2,3],'b':[4,5,6]})
print(a)
dict(zip(a['a'],a['b']))

kdd 2020 常用分析代码_第2张图片

常用NLP分析

model.wv.vocab

计算与当前词距离最近的词,即原版本中的distance方法

model.most_similar(["boy"], topn=3)
# or
model.most_similar("boy", topn=3)

#[('girl', 0.7218124270439148), ('kid', 0.6669290065765381), ('boss', 0.6069169044494629)]

计算相似的词,topn=1设置自取最相似词表中的第一个

model.most_similar(positive=["woman","king"],negative=["man"],topn=1)
# output : [('queen', 0.6571654081344604)]

#其意义是计算一个词d(或者词表),使得该词的向量v(d)与v(a="woman")-v(c="man")+v(b="king")最近

data中groupby索引

a = {'a':[1,1,2,2,3,3,4],'b':[3,3,6,6,7,4,9]}
a = pd.DataFrame(a)
for i,j in a.groupby('a'):
    print(i)
    print(j)

kdd 2020 常用分析代码_第3张图片

Faiss应用 - 召回框架

user_vector_arr  # shape(526,066, 128)
gds_vector_arr   # shape(5,172, 128)
dim = 128# 向量维度
k = 10  # 定义召回向量个数
index = faiss.IndexFlatL2(dim)  # L2距离,即欧式距离(越小越好)
# index=faiss.IndexFlatIP(dim) # 点乘,归一化的向量点乘即cosine相似度(越大越好)
index.add(gds_vector_arr) # 添加训练时的样本
D, I = index.search(user_vector_arr, k) # 寻找相似向量, I表示相似用户ID矩阵, D表示距离矩阵

Faiss召回学习笔记

你可能感兴趣的:(推荐系统)