+
Skip to content

andreas83/product-recommendation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

A super simple proof of concept for product recommendation

purpose: get product recommendation for a user based on the items in the cart

//training data

const trainingData = [
    {similarity:0, items:[1,2,3]},
    {similarity:0, items:[2,3,4]},
    {similarity:0, items:[1,3,5]},
    {similarity:0, items:[1,2,3,4]},
    {similarity:0, items:[1,2,3,5]},
    {similarity:0, items:[1,2,3,4,5,455]},
    {similarity:0, items:[1,2,3,4,5,6]},

];

//current items from the cart
const cartItems = [1,2,4];

//calculate similarity
trainingData.forEach(element => {
    element.similarity = element.items.filter(x => cartItems.includes(x)).length;
});

//sort the array based on similarity
trainingData.sort((a,b) => (a.similarity < b.similarity) ? 1 : -1);

//get the top 3 items
const top3 = trainingData.slice(0,3);
//console.log(top3);

//remove items that are already in the cart
let recomondation = top3.map(x => x.items.filter(y => !cartItems.includes(y))).flat();

//remove duplicates
recomondation = [...new Set(recomondation)];

console.log(recomondation);

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载