TransWikia.com

Item-based recommender using K-NN

Data Science Asked on December 12, 2020

I’m trying to build an item-based recommender using k-nn. I have a list of items, all of which have some properties (features) in common.

item    var_1      var_2    var_3        var_4          var_5
item_1  0.171547232  a      0.908855471  0.292061808    0.285678293
item_2  0.131694336  b      0.432665234  0.501300418    0.756824175
item_3  0.144318764  b      0.238752071  0.487600679    0.203133779
item_4  0.249241125  b      0.921229689  0.003638622    0.606875991
item_5  0.414306046  b      0.190824352  0.937412611    0.1789091
item_6  0.909501131  c      0.847112499  0.548322302    0.060136059
item_7  0.37469644   c      0.282628025  0.211128351    0.125910578
item_8  0.308634676  d      0.174650423  0.705026302    0.440098246
item_9  0.039294192  d      0.877086507  0.756817338    0.089838708
item_10 0.1641442    d      0.595879033  0.376224097    0.733153096 

Based on a random item input, I would like to find the top $10$ similar items using the k-nn algorithm and use them as a recommendation. However, I would also like to weight var_3 inversely proportional, hence when the value of var_3 is lower the item comes higher in the ranking of items suggested.

Do you have any suggestions on how to approach this?

One Answer

You can define a custom distance metric using the metric parameter from sklearns KNeighborsClassifier where you can specify your callable function that gets called when calculating the distances from the algorithm. There you can weigh var_3 inversely proportional.

Answered by fhaase on December 12, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP