The problem is that I would like a user to rate a genre on a scale from 1 to 100. This input would go into the function as $x and return a number from the sigmoid function. The reason for the sigmoid is so that the user can get close to 100 or 0 but never reach it.

The database has a number for example 54; The user inputs a number for example 80; Right now, I weigh the number from the database as a ratio of 1.5 higher than the user input then find the mean. This example, the output would be 67.


I do this for each individual genre.

I'd like to find a way of increasing probability of a genre showing up from these numbers. From our example the number is 67. That's above the average 50. But the catch is that they don't add up so there could be another number which is about 80. The way I tried solving this was by calculating the ratio etc... but then by doing that because there are 19 different genres it was a very spread out probability and all averaged out around around 1/19 times. I'd like it so if the number was a relativly high number like 80 for it to show up more than about 1/19 times.

Sigmoid Function:

function sigmoid($x){ return 1 / (1 + exp(-0.0845 * ($x -50)))*100; }

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.