基于流的推荐系统软件库
increc的Python项目详细描述
FEUP-DISS公司
此存储库托管基于流的推荐系统上的软件库。这是我论文的一部分 波尔图大学工程学院。在
概述
目录
这个软件库包含关于在在线平台上实现推荐系统的代码。它实现了一些算法、测试指标和数据结构,以便它能够处理传入的信息(表示为评级流)。每个等级可以是implicit或explicit,并由用户对项目进行评分。显式评分是用户直接给出的评价,例如1-10分制。隐式评级可以解释为用户对项目所采取的操作(例如页面点击),这些操作可以解释为用户liking。每个评级都是一个元组:(用户id,项目编号,评分)。对于隐式反馈,元组变成:(user_id,item_id)
当前实现的算法:
- Explicit-Based User-Based Collaborative Filtering
- Explicit User-Based Clustering Collaborative Filtering
- Implicit User-Based Collaborative Filtering
- Implicit User-Based Clustering Collaborative Filtering
- Implicit Locality Sensitive Hashing Item-Based Collaborative Filtering
- Implicit Locality-Sensitive Hashing-Based-Based Collaborative Filtering
- 隐式矩阵分解
- 带矩阵预处理的显式矩阵分解
- 没有矩阵预处理的显式矩阵分解
- Implicit Item-Based协同过滤
- Implicit Item-Based Clustering-Collaborative Filtering
安装
目前该库部署在Pypi上。在
pip install increc
依赖关系
出于开发目的:
- Python3.8
- Pipenv需要在虚拟环境中运行此操作。
pip install --user pipenv
python -m pipenv lock -r > requirements.txt
pipenv install -r requirements.txt
运行测试
这个库使用unittest进行单元测试,使用flake8作为其短线。在
pipenv run python -m unittest discover -v -p "*_test.py"
pipenv run flake8
运行示例
用法示例位于examples
文件夹中。在
pipenv run python -m examples.collaborative_filtering.neighborhood.explicit_feedback.user_based.user_based_clustering "data_set"
文件
文档是使用Sphinx创建的。在
pipenv run sphinx-apidoc -f -o docs/source algorithms
pipenv run sphinx-apidoc -f -o docs/source stream
pipenv run sphinx-apidoc -f -o docs/source data_structures
pipenv run sphinx-apidoc -f -o docs/source utils
pipenv run sphinx-apidoc -f -o docs/source graphic
pipenv run sphinx-build -b html docs/source/ docs/build
https://marko50.github.io/increc-documentation
- 项目
标签: