phpjuice / slopeone
基于加权Slope One评分的协同过滤方案的PHP实现。
v2.0.1
2022-02-26 18:07 UTC
Requires
- php: ^7.4|^8.0|^8.1
Requires (Dev)
- pestphp/pest: ^1.18
- phpstan/phpstan: ^0.12
- squizlabs/php_codesniffer: ^3.4
README
基于加权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
构建工具
更新日志
请参阅更新日志,以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING.md 获取详细信息及待办事项列表。
安全
如果您发现任何安全问题,请通过电子邮件联系作者而不是使用问题跟踪器。
鸣谢
版本
我们使用 SemVer 进行版本控制。有关可用版本,请参阅此存储库的标签。
许可证
许可证。请参阅许可证以获取更多信息。