In the past week, I worked on generating five recommendations from each of the the six product categories. I still have a confusion about the cosine similarity formula so I’m planning to meet with other faculties in the following week while keep working on the next task. Other than that, there wasn’t any obstacle and I just need to make the function return the results in a nice and clean way.
In the past week, I worked on calculating the cosine similarity between the ingredient composition of an inputted item and that of the rest of the items in the data. I am struggling to decide on which formula to use for this, since the related project used the equation different from the “typical” formula used to compute cosine similarity. I will need to look into this more next week.
I made a visualization (plot) displaying ingredient composition similarity between different products and skin types. I attached two drop-down options for users to select from product categories and skin types. I also attached labels to the graph so that it displays the product’s name, brand, price, and rank.
In the past week, I loaded the data, extracted ingredients from products, and made a document-term matrix containing product names and ingredient composition. I plan to visualize ingredient similarity between products this week. I haven’t faced many obstacles yet, but I want to finish things earlier than planned to allow some time for future obstacles.
I just worked on my final paper this week. I met with Xunfei to ask questions about it.
In the past week, I browsed to see if I could find a better data set for my project. I wanted to find a data set with users’ purchase history as well as the product information, but I could not find the appropriate data set to apply hybrid filtering. So I ended up modifying it to content-based recommender. I thought of more details to add to the project and discussed with Xunfei about ways to expand it. I ended up revising my diagram and some parts of the design. I also worked on creating slides for the presentation.
This week, I worked on the similar project posted online. While working on it, I found some challenges in modifying the content-based data set to fit the collaborative-filtering method. I might end up modifying my project from a hybrid recommender to a content-based recommender. But I will keep looking for alternatives to make it possible.
This past week, I worked on mainly reading my new papers. I did a third pass reading on all my old papers and did at least second pass reading on the new ones. I tried finishing more than half of the existing project on python notebook and played with the data set. I now have a better sense of how to start my project next semester. I also met Xunfei and updated my progress to her. As soon as the feedback for proposal draft 1 comes out, I will be revising my writing and finishing the existing project I have been working on. I also plan to test the existing project on collaborative filtering to make sure it works with a different data set.
This week, I revised my diagram again and selected papers to use for my proposal. I read through all of them carefully and wrote an outline for my proposal. I discussed the details of my ideas with Xunfei, modified some, and finished writing the proposal.
After meeting with Xunfei, I decided to modify my diagram a bit so I redesigned it from my practice proposal. I also collected more papers that could be used in my proposal and read more articles and research papers. I also found an online tutorial of a project that is closely related to mine, so I enrolled in the course for free and downloaded the jupyter file to play with it on my own. I think doing this now will help me figure out some possible options and directions for next semester. I also made a timeline of my work for this semester as well as next semester. I asked Xunfei some remaining questions about the proposal and my project in general to clarify my thoughts. I also checked out the rubric for project proposal and brainstormed ideas for my first draft of proposal.
This week, I changed my method from hybrid to content-based filtering because there isn’t much research done in the hybrid method. So I chose to improve the content-based filtering instead. I also wrote my proposal outline and revised my diagram with the help of Xunfei. I might explore more ways to improve the existing method and see if there is anything else I can add.
This week, I mainly worked on reviewing my papers carefully and summarizing them for the literature review. I also met and talked with Xunfei about my proposal idea and came up with a preliminary idea. I will have to work more to develop it.
In the past week, I searched and skimmed lots of papers to use for my own research. I also talked with Dave and Xunfei to refine my ideas. I also found a data scraping software to extract product information from Sephora.
In the past week, I explored different ideas, talked to the faculty, and found more papers to read. I found lots of interesting paper related to my personalized skin care product recommendation idea. I found out that using content-based filtering to recommend products might be helpful, and I could modify the algorithm to have better performance.
Some papers I found useful include:
 Recommender System By Grasping Individual Preference and Influence from other users
 Recommendations System for Purchase of Cosmetics Using Content- Based Filtering
 Item Clustering as An Input for Skin Care Product Recommended System using Content Based Filtering
These papers gave me an idea for what algorithm to use for the recommendation system and how to modify it according to my need. Some of the research was done using five skin types, but I’m thinking to increase it to 16 or more.
This week, I did a first pass reading for a total of 6 papers and visited the writing center for the annotated bibliography. Some of them turned out to be less relevant to the topic than they had appeared, but they were mostly useful and interesting. For one of my journals, the authors introduced the eigen-values and associated them with our facial features which I thought was fascinating. A lot of the methods that I thought were either subjective or determined by consensus actually involved detailed algorithms and logical processes. I look forward to reading them more in depth.
I further developed my ideas and added more details to each of them. Then I talked to Xunfei about modifications and got more suggestions from her. We looked through the research paper I found on Google Scholars together and searched for related articles. After the meeting, I went back to find some more articles. I think I now know what to choose as my final idea.
1. My first idea stays the same, but Xunfei recommended me to enable rating and commenting under each product to make the app a bit more interactive & informative. I will order recommendations for different skin types by star ratings. I am also thinking to include filtering by content, price, etc.
2. My second idea is similar to the first one, and it’s also on personalization with Machine Learning. I will be creating an app that will recommend makeup products such as lipsticks, eyeshadows, blush, etc. as well as their shades depending on the users’ “personal color”. The personal color analysis will be done using a quiz that will have a set of questions and perhaps facial recognition for higher accuracy. Then the app will pick out the best shades of makeup products that will go with your skin tone!
3. My third idea is making an app in which users can check for events happening not only at Earlham but also in nearby cities such as Richmond, Indianapolis, Cincinnati, etc. Students, faculty, and local residents get bored in a small town and are sometimes clueless about fun events happening nearby. I hope this app could get people more involved in the community. I am also thinking to include restaurant/movie deals that might be happening locally.
- Name of Your Project Skip&Skin
- What research topic/question your project is going to address? One product can’t fit all. From beauty to skin care, people are thrown a bunch of products that are said to be popular or effective in enhancing complexion. However, each individual is so different from another that they need to do more research to figure out which products will fit them better than others. Using the concept of personalization with Machine Learning, I will be focusing on categorizing different skin types of users and matching skin care products that could best serve their needs.
- What technology will be used in your project? I will need XCode and Swift to build the IOS application. I might be using Python to manipulate the dataset.
- What software and hardware will be needed for your project? Since I will be making an IOS application, I will need a MacBook to use XCode.
- How are you planning to implement? I am planning to create a skin type test for users with approximately 10 problems to determine their skin type. I might also ask them to identify their concerns. I will select products to recommend by comparing the content of their ingredients (glycerin, hyaluronic acid, etc.). I might also want to make options for filtering by price, brand, etc.
- How is your project different from others? What’s new in your project? As a person with dry skin (due to lack of moisture), I always look for products that are a bit more oily than what others might prefer. I try to stay away from products that dry up fast and leaves my skin smooth. But most products that are highly rated don’t necessarily reflect this, and I have to either go through individual comments or search online to see if it will be effective for dry skin. I thought it would be comfortable for people to just see filtered results for their own skin type.
- What’s the difficulties of your project? What problems you might encounter during your project? Finding a database of skin care products with ingredients, building an app by myself, learning Swift, coming up with a criteria for selecting products