基于评分的协同过滤的 PHP 实现。

v1.0.1 2024-01-08 06:04 UTC

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
)