alejandro-yakovlev / cf-php
基于评分的协同过滤的 PHP 实现。
v1.0.1
2024-01-08 06:04 UTC
Requires
- php: >=8.2
- markrogoyski/math-php: ^2.8
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.46
- pestphp/pest: ^2.30
- phpstan/phpstan: ^1.10
This package is auto-updated.
Last update: 2024-09-08 07:25:45 UTC
README
介绍
此库是协同过滤(CF)的 PHP 实现。协同过滤是一种通过分析用户行为来推荐内容的方法。
设置
composer require alejandro-yakovlev/cf-php
要求
- PHP >= 8.2
用法
<?php use CFPHP\CollaborativeFiltering; use CFPHP\RecommendationStrategy\UserBasedRecommendationStrategy; use CFPHP\SimilarityStrategy\CosineSimilarityStrategy; use CFPHP\User; require_once __DIR__ . '/vendor/autoload.php'; $user1 = new User('user1', [ 'item1' => 5, 'item2' => 5, 'item3' => 5, ]); $user2 = new User('user2', [ 'item1' => 4, 'item2' => 4, 'item3' => 4, ]); $user3 = new User('user3', [ 'item1' => 3, 'item2' => 3, ]); $users = [ $user1, $user2, $user3, ]; $similarityStrategy = new CosineSimilarityStrategy(); $recommendationStrategy = new UserBasedRecommendationStrategy($users, $similarityStrategy); $collaborativeFiltering = new CollaborativeFiltering($recommendationStrategy); $recommendations = $collaborativeFiltering->getRecommendations('user3'); print_r($recommendations);
输出
Array
(
[item3] => 4.5
)