phpjuice/slopeone

基于加权Slope One评分的协同过滤方案的PHP实现。

v2.0.1 2022-02-26 18:07 UTC

This package is auto-updated.

Last update: 2024-09-17 02:12:04 UTC


README

Tests Maintainability Latest Stable Version Total Downloads License

基于加权Slope One评分的协同过滤方案的PHP实现。

安装

Slopeone 包需要PHP 7.4或更高版本。

INFO: 如果您使用的是较旧的PHP版本,此包可能无法正确运行。

安装 Slopeone 包的推荐方式是通过 Composer。

composer require phpjuice/slopeone

使用方法

Slopeone 包设计得非常简单直观,您只需加载评分数据,然后根据提供的训练集预测未来的评分。

加载文件

Slopeone 对象通过直接实例化创建

use PHPJuice\Slopeone\Algorithm;

// Create an instance
$slopeone = new Algorithm();

添加评分值

可以通过提供用户评分数组并通过 update() 方法轻松地添加评分值

$data =[
  [
    "squid" => 1,
    "cuttlefish" => 0.5,
    "octopus" => 0.2
  ],
  [
    "squid" => 1,
    "octopus" => 0.5,
    "nautilus" => 0.2
  ],
  [
    "squid" => 0.2,
    "octopus" => 1,
    "cuttlefish" => 0.4,
    "nautilus" => 0.4
  ],
  [
    "cuttlefish" => 0.9,
    "octopus" => 0.4,
    "nautilus" => 0.5
  ]
];

$slopeone->update($data);

预测评分

要为新用户预测评分,只需运行 slopeone::predict 方法

$results = $slopeone->predict([
    "squid" => 0.4
]);

这将产生以下结果

[
  "cuttlefish"=>0.25,
  "octopus"=>0.23333333333333,
  "nautilus"=>0.1
];

运行测试

您可以使用 composer 轻松运行测试

composer test

构建工具

  • PHP - 使用的编程语言
  • Composer - 依赖管理
  • Pest - 一个优雅的PHP测试框架

更新日志

请参阅更新日志,以获取有关最近更改的更多信息。

贡献

请参阅CONTRIBUTING.md 获取详细信息及待办事项列表。

安全

如果您发现任何安全问题,请通过电子邮件联系作者而不是使用问题跟踪器。

鸣谢

版本

我们使用 SemVer 进行版本控制。有关可用版本,请参阅此存储库的标签

许可证

许可证。请参阅许可证以获取更多信息。

Tests Maintainability Latest Stable Version Total Downloads License