You indicated a regression problem because you are trying to predict a continuous numerical value.
For each data instance, you can retrieve functions and bind a value (1-5). Features may include the presence of dishes during meals (for example, has_cheesecake, has_orange_juice), where each function is logical. Suppose there are N possible dishes; then each meal is an instance of data (also known as a feature vector) with functions N and a value associated with it. Below is an example with N = 12, where the last (13th) column is the value.
0 0 0 1 1 0 0 0 1 0 0 0 5 1 0 0 1 0 1 0 0 0 0 0 0 3 0 0 0 0 0 0 1 1 0 0 0 1 4
You can then transfer this to a machine learning program, such as Weka, and create a regression model for you. Then, when you want to predict user ranking for a new meal, you load a new vector where the last column is unknown, for example:
0 0 1 0 0 0 1 0 0 0 0 1 ?
The software will return a value to you, for example 3.9.
source share