基于嵌入的项目最近邻域提取
项目描述
深邻
用于 ANN 搜索和推荐的基于嵌入的检索!
查看演示
·
报告错误
·
请求功能
DeepNeighbor 是一个高级、灵活和可扩展的包,用于从用户项目交互日志中进行基于嵌入的信息检索。顾名思义,“deep”表示获取用户/项目嵌入的深度学习模型,而“neighbor”表示嵌入空间中的近似最近邻搜索。
它主要有两部分:嵌入步骤和搜索步骤,通过以下代码:
model = Embed(data_path); model.train(),为用户和项目(Deep)生成嵌入,
model.search()为种子用户/项目(Neighbor)寻找近似最近邻居。
安装
pip install deepneighbor
如何使用
from deepneighbor import Embed
model = Embed(data,model='gat')
model.train()
model.search(seed = 'Louis', k=10)
输入格式
Embed()的输入数据应该是一个(*.csv 或 *.txt)文件路径(例如,'\data\data.csv'),按顺序包含两列:'user' 和 'item'。对于每个用户,建议按时间订购商品。
Embed() 中的模型和参数
- Word2Vec
w2v - 因式分解机
fm - 深度语义相似性模型
- 三重损失的连体网络
- 深步道
- 图卷积网络
- 神经图协同过滤算法
ngcf - 矩阵分解
mf - 图注意力网络
gat
模型参数
深度步行
model = Embed(data, model = 'deepwalk')
model.train(window_size=5,
workers=1,
iter=1
dimensions=128)
window_size跳过克窗口大小。workers使用这些工作线程来训练模型(=使用多核机器进行更快的训练)。iter语料库上的迭代次数(时期)。dimensions节点嵌入的维度
图注意力网络
model = Embed(data, model = 'gat')
model.train(window_size=5,
learning_rate=0.01,
epochs = 10,
dimensions = 128,
num_of_walks=80,
beta=0.5,
gamma=0.5,)
window_size跳过克窗口大小。learning_rate优化图注意力网络的学习率epochs梯度下降迭代次数。dimensions每个节点(用户/项目)的嵌入维度num_of_walks随机游走的次数。beta和gamma正则化参数。
如何搜索
model.search(seed, k)
seed算法驱动k最近邻居的数量。
例子
打开Colab以使用 facebook 数据运行示例。
接触
请联系louiswang524@gmail.com进行合作或提供反馈。
执照
该项目采用 MIT 许可协议,详情请参见此处。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
deepneighbor-0.3.1.tar.gz
(11.7 kB
查看哈希)
内置分布
deepneighbor-0.3.1-py3-none-any.whl
(14.9 kB
查看哈希)
关
deepneighbor -0.3.1.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 33016414b1fd0ec8c65d73e77cabfb332cc64891de1472e3a4cc0f2037e9475b |
|
| MD5 | 3b6a5bea8dbe27066a882b1f000870c2 |
|
| 布莱克2-256 | 9197001651967b217dbf30eb71fac624e551379b484fa459026d5a0d87e8bf7d |
关
deepneighbor -0.3.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 6a3b9ffa7143e80849c79c982d22d81bfa48ab6e0c911ac191d813fb1c3b3bae |
|
| MD5 | 71e2a0f52b78ba439a83f1026b2d809e |
|
| 布莱克2-256 | 6a05a2d64451010d2b1e1085b9f3403ffc419b5e0579d68e17d54bdb05e75c7f |