I am new to machine learning so please bare with me. I'll try to keep this short and sweet.

We are building a makeup simulation and recommendation system. My part is to recommend a makeup which is personalized to the user and also on par with the current makeup trends. I will be building a set of rules with the help of a beautician that will say which makeup is suitable for a particular set of features.

The outputs will be makeup for: foundation, lipstick, eye shadow

The input features are (tentative): skin tone, hair colour, dress colour, morning/evening, type of event attending, etc

So after I build this set of rules, I will be able to select the appropriate makeup to the given input. What I need is to be able to recommend makeup that is also trending amongst similar users because makeup styles are constantly evolving and I don't want to recommend the same makeup every time the same input features are given.

Also I want to be able to personalize the recommendation, i.e. if the user's history shows preference towards a nude makeup, I want the recommendation to be as close as possible to their preferences.

I'd appreciate any help regarding how I should proceed or what algorithms I should use or anything at all...!!

  • $\begingroup$ Welcome to DataScienceSE. The first question to ask yourself is: from which data? For your scenario you would need a quite large number of examples containing the features (skin tone, hair color, etc.) together with the corresponding outputs. For the personalized part it's even harder: you would need a way to collect the "makeup history" of the user. Basically the design of the project should depend on which information is available. $\endgroup$ – Erwan Apr 26 at 10:56
  • $\begingroup$ @Erwan Thank you for your advice. There are no datasets available or maybe I couldn't find them. Anyway, I will be creating a dataset to test and train the model. To collect the makeup history, we plan to prompt the user whether we could save the makeup they selected at the end and save them. The plan was to increase personalizing the more times the user uses the system. $\endgroup$ – ranul Apr 26 at 13:41
  • $\begingroup$ I don't know anything about makeup, are there many possible combinations of input features? If yes, it might be difficult to create a dataset which would be representative enough (especially have a realistic distribution of the features and outputs). If no then it's not sure that you would need any ML, maybe a simple rule-based system would be enough. $\endgroup$ – Erwan Apr 26 at 21:27
  • $\begingroup$ @Erwan Yeah I agree, a simple rule-based system would be sufficient. But to recommend a style that is also on par with the current makeup trends, i.e. if many other similar users of the system are using a specific makeup style, I'd like the recommendation to also consider that style. And also personalize the recommendation specific to the user's makeup history. I think I'll need ML for this. I hope it's not confusing $\endgroup$ – ranul Apr 27 at 7:00
  • $\begingroup$ For the system to propose recommendations based on other similar users, it needs to already have stored a large amount of history. Since you probably can't have this history from the start, you would have to start with a simple rule-based system for instance, use the app to collect some history (this means that a good number of users have to actually use the app), then if this works you can start building a "second generation" recommender system. $\endgroup$ – Erwan Apr 28 at 14:05

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.