Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork14
Collaborative filtering recommendation system. Recommendation algorithm using collaborative filtering. Topics: Ranking algorithm, euclidean distance algorithm, slope one algorithm, filtragem colaborativa.
License
tigoCaval/recommendation-algorithm
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Collaborative filtering recommendation system
- Ranking algorithm using likes / dislikes or star-based rating
- This package can be used in any PHP application or with any framework.
- Download package:
composer require tigo/recommendation - MIT license.Feel free to use this project.Leave a star ⭐ or make a fork !
If you found this project useful, consider making a donation to support the developer.
Starting with composer
- Install composer
- Download package:
composer require tigo/recommendation - PHP >= 7.0; Versions that have been tested: 7.2.25, 7.3.23 e 8.0.1.
//Somewhere in your project, you may need to use autoloadinclude__DIR__ ."/vendor/autoload.php";
- ranking
- euclidean
- slope one
Recommend a product using collaborative filtering
/** $table gets the array from the database. $user is the foreign key that represents the user who will receive the recommendation. **/useTigo\Recommendation\Recommend;// import class$client =newRecommend();$client->ranking($table,$user);//optional third parameter refers to the score not accepted$client->euclidean($table,$user);//optional third parameter refers to the minimum accepted score$client->slopeOne($table,$user);//optional third parameter refers to the minimum accepted score
Sometimes, it may be necessary to rename the value of the constants (According to your database table).
- Configure: standard key (Directory:
./src/configuration/StandardKey.php)
constSCORE ='score';//scoreconstPRODUCT_ID ='product_id';//Foreign keyconstUSER_ID ='user_id';//Foreign key
A simple didactic demonstration of the algorithm
/** Example using "rating: liked and disliked" like: score = 1; dislike: score = 0 **/$table = [ ['product_id'=>'A','score'=>1,'user_id'=>'Pedro' ], ['product_id'=>'B','score'=>1,'user_id'=>'Pedro' ], ['product_id'=>'A','score'=>1,'user_id'=>'João' ], ['product_id'=>'B','score'=>1,'user_id'=>'João' ], ['product_id'=>'C','score'=>1,'user_id'=>'João' ] ];useTigo\Recommendation\Recommend;// import class$client =newRecommend();print_r($client->ranking($table,"Pedro"));// result = ['C' => 2]print_r($client->ranking($table,"Pedro",1));// result = [];print_r($client->euclidean($table,"Pedro"));// result = ['C' => 1]print_r($client->euclidean($table,"Pedro",2));// result = [] ;print_r($client->slopeOne($table,'Pedro'));// result = ['C' => 1]print_r($client->slopeOne($table,'Pedro',2));// result = []
If you are interested in supporting this project, you can help in many ways. Leave a star ⭐ or make a donation of any value.
- []
MIT license. See the archiveLicense
About
Collaborative filtering recommendation system. Recommendation algorithm using collaborative filtering. Topics: Ranking algorithm, euclidean distance algorithm, slope one algorithm, filtragem colaborativa.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.



