Machine Learning Application

I saw some machine learning questions here, so I decided that I would pose a related question: Suppose I have a randomly generated list of products that includes an entrance, dessert and a drink. An example would be chicken, cheesecake, orange juice. The user would rate how they personally like this combination from a scale of 1-5. Once the rating is reached, another random set of products will appear.

My question is: what kind of machine learning method / algorithm would I use to predict that a user will rank a randomly generated set of all their previous data? Essentially, use your opinion to predict their ranking of new product suites. Any sites / books that might help?

+4
source share
6 answers

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.

+2
source

What are you asking is mainly mood detection , which has become very popular for doing things like predicting a user’s relationship with a product. Here's the seed paper , depending on how you are prone to academic orientation.

You can see this as a regression problem, but many people ignore the fact that ordinal relations exist between classes. If you no longer have information about items in food than their names, I'm not sure I expect you to work very well with this. You should look for a functional presentation of the courses, if at all possible, in order to improve your ability to predict values.

+1
source

I would look at a study of work, because it usually minimizes or maximizes the problem.

0
source

Since you have a classification column, which is a priority column, you can try the decision tree.

0
source

To choose the best classifier, there are several additional characteristics of your problem that you must evaluate, for example, the approximate number of attribute values ​​(i.e. how many entrances, desserts and drinks you have to choose from) and approximately many training examples that you would like to provide before compiling forecasts. Not all classifiers do well with sparse data.

If you have a large number of training examples (regarding the number of attribute values), the decision tree classifier is a good place to start. One of the advantages of the decision tree is that the structure of the tree studied is intuitive and provides a simple interpretation of what are important attributes (and combinations of attributes).

0
source

There are many algorithms that can fit into your problem, some of which may be decision trees , neural networks, or supporting vector machines .

However, when you work with user opinions, it is possible that in some cases you will not get user opinions in all your products (they may be skipped). I do not know if this is your business, perhaps you force them to evaluate all the products. However, if you allow the user to skip, you will receive some of your products that have not been tagged. In this situation, you can use collaborative filtering. This method predicts the intended choice of a new user, even in the situation that I explained.

You can find a good tutorial in the Ng course .

0
source

Source: https://habr.com/ru/post/1447073/


All Articles