So for my project I have certain scores associated with a food and I have to recommend a foodie a food based on the highest score: For example: Ice-cream: 0.00004 Hot dogs: 0.00005 Fries: 0.00009 Based on this, foodie1 will get a recommendation of eating fries, then hot-dogs, and then icecream.
But, before I do that. I need to individualize the score based on the foodie's background. So for example foodie1 likes cold foods and therefore I want to multiply the score of ice-cream with the score of cold foods to give it just a slight bump based on the preference. But, the bump shouldn't be that overpowering that instead of recommending fries first it directly jumps to recommending ice cream (rather it should make the recommendation order: fries, ice cream, hot-dogs).
Issue is that the score for cold foods is also a small number like 0.1. Currently, I am using the process of multiplication. When I multiply 0.1*0.00004 it gives 0.0000004 which does exactly the opposite of what I want it to do (aka pushes ice cream to the bottom of the recommendation list). I can't use addition because then ice-cream overpowers the list.
Is there a work-around this like normalization for example?
Make Ice Cream 1.00004, Hot dogs 1.00005, etc. Multiplying them will now result in a larger number
If you want, you can subtract 1 at the end, but I think making it all in terms of 1.x is more helpful because they are positive-influence multipliers. A multiplier <1 means that it has a negative influence