I've seen some machine learning questions on here so I figured I would post a related question: Suppose I have a randomly generated food list which includes an entree, dessert, and a drink. An example would be Chicken, cheesecake, orange juice. The user would rank how they personally like this combination from a scale of 1-5. After reach rating, another random set of food would appear.
My question is, what machine learning technique/algorithm would I use to predict what the user would rank a randomly generated set from all their previous data? In essence, use their opinion to predict their rating of new food sets. Any sites/books that may help?
Machine learning, on the basis of the process involved, is divided mainly into four types: Supervised, Unsupervised, Semi-Supervised, and Reinforcement learning. The main applications of AI are Image Segmentation, Expert systems, Online game playing, an intelligent humanoid robot, etc.
Image recognition, which is an approach for cataloging and detecting a feature or an object in the digital image, is one of the most significant and notable machine learning and AI techniques. This technique is being adopted for further analysis, such as pattern recognition, face detection, and face recognition.
Machine learning can help with the diagnosis of diseases. Many physicians use chatbots with speech recognition capabilities to discern patterns in symptoms. Real-world examples for medical diagnosis: Assisting in formulating a diagnosis or recommends a treatment option.
You have stated a regression problem because you are trying to predict a continuous numerical value.
For each data instance, you can extract features and associate a value (1-5). The features can be the existence of a dish during the meal (e.g. has_cheesecake, has_orange_juice), where each feature is a boolean. Suppose there are N possible dishes; then each meal is a data instance (also known as a feature vector) with N features and an associated value. 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 feed this into a machine learning program like Weka, and it will create a regression model for you. Then when you want to predict the user's ranking for a new meal, you feed in a new vector where the last column is unknown, like the following:
0 0 1 0 0 0 1 0 0 0 0 1 ?
The software will return a value to you, like 3.9.
What you're asking is basically sentiment detection, which has become very popular for doing things like predicting a user's attitude towards a product. Here's a seminal paper, depending on how academically inclined you are.
You could look at this as a regression problem, but a lot of the time people ignore the fact that there are ordinal relations between the classes. If you have no more information on the items in the meal than their names, I'm not sure I'd expect you to do very well at it. You should look for a feature-representation of the courses if at all possible, to improve your ability to predict values.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With