Skip to main content

eALS - 逐元素交替最小二乘法

项目描述

eALS - 逐元素交替最小二乘法

arXiv:1708.05024提出的用于快速在线矩阵分解的逐元素交替最小二乘法 (eALS) 的 Python 实现。

先决条件

  • 蟒蛇> = 3.8

安装

pip install eals

用法

import numpy as np
import scipy.sparse as sps
from eals import ElementwiseAlternatingLeastSquares, load_model

# batch training
user_items = sps.csr_matrix([[1, 2, 0, 0], [0, 3, 1, 0], [0, 4, 0, 4]], dtype=np.float32)
model = ElementwiseAlternatingLeastSquares(factors=2)
model.fit(user_items)

# learned latent vectors
model.user_factors
model.item_factors

# online training for new data (user_id, item_id)
model.update_model(1, 0)

# rating matrix and latent vectors will be expanded for a new user or item
model.update_model(0, 5)

# current rating matrix
model.user_items

# save and load the model
model.save("model.joblib")
model = load_model("model.joblib")

有关完整示例,请参见示例目录。

发展

设置开发环境

git clone https://github.com/newspicks/eals.git
cd eals
poetry run pip install -U pip
poetry install

测试

poetry run pytest

设置USE_NUMBA=0为在没有 numba JIT 开销的情况下进行更快的测试。

USE_NUMBA=0 poetry run pytest

要针对所有受支持的 Python 版本运行测试,请使用tox。您可能需要将 Python 版本号放入.python-version文件中。

poetry run tox

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

eals-0.9.4.tar.gz (8.7 kB 查看哈希

已上传 source

内置分布

eals-0.9.4-py3-none-any.whl (8.5 kB 查看哈希

已上传 py3