VIETNAM NATIONAL UNIVERSITY UNIVERSITY OF TECHNOLOGY FACULTY OF COMPUTER SCIENCE AND ENGINEERING - GRADUATION THESIS - A Decision Support System for Outfit Planning Council: Software Engineering Instructor: Assoc. Quan Thanh Tho, Ph. Student: Nakamura Ryuta - 1752004 Ho Chi Minh City, December 2022 Date: Assoc. Quan Thanh Tho, Ph.
(Thesis Instructor) Associate Professor Computer Science and Engineering ii Declaration of Authenticity I declare that this research is my work, conducted under the supervision and guidance of Assoc. Quan Thanh Tho. The result of our research is legitimate and has not been published in any form before this. All materials used in this research have been collected from various sources and are listed in the references section.
In addition, within this research, I also used the results of several other authors and organizations. They have all been aptly referenced. In any case of plagiarism, I stand by my actions and will be responsible for them. University of Technology - Vietnam National University HCMC, therefore, is not responsible for any copyright infringements conducted within our research.
Ho Chi Minh City, December 2022 Author Nakamura Ryuta iii Acknowledgements Firstly, I would like to express my deep and sincere thanks to Dr. Quan Thanh Tho, for supervising my thesis and thesis proposal. I have benefited greatly from your wealth of knowledge and meticulous editing. Next, I am very thankful to Mr.
Nguyen Quang Duc. He helped me a lot with developing the system and writing the thesis. I would also like to thank my lab mates. Without their support, I could not complete this meaningful research.
iv Abstract In this paper, a decision support system is designed and built to help users choose their daily outfits. The system takes in outfits and corresponding events and then analyzes them to provide daily outfit suggestions to make outfit planning easier for the user. Association analysis techniques are expected to be used in our system to make predictions of the information necessary to create daily outfit recommendations. In the process, the association rules and their algorithms are researched.
Finally, the web application is developed that actually recommends outfits using association rules. v Contents Declaration of Authenticity iii Acknowledgements iv Abstract v 1 Introduction 1 1.3 Association Rule Mining .2 Algorithms Used in Association Rule Mining .3 FP-growth Algorithm .2 Use-case Diagram and the Description .3 Application Mock-up .1 Overall System Structure .2 Finding Association Rules. 42 5 Result and Evaluation 44 5.1 Evaluation of My Outfit Recommender System. 54 References 55 vii List of Figures 1.1 Web Application Architecture .1 Use-case Diagram of Sign Up and Log In .3 Add/Edit Items .4 Use-case Diagram of Create Outfits .5 Use-case Diagram of Set User’s Event in Calendar .6 Use-case Diagram of Suggest Outfit Plans .15 Find Association Rules .16 Show Outfit Recommendation .17 Find Association Rules .1 My Outfit History for One Month .2 Test Data Set .3 Create New Outfit.
52 ix List of Tables 2.1 Comparison of Content-based filtering and Collaborative filtering .1 Comparison of Apriori, Eclat and FP-Growth .2 Data Set Example .4 Frequent Item Set 1 (L1) .6 Frequent Item Sets 2 (L2) .8 Generated Association Rules .1 Use-case Description of Sign Up .2 Use-case Description of Log In .3 Use-case Description of Select Items .4 Use-case Description of Add/Edit Items .5 Use-case Description of Create Outfits .6 Use-case Description of Set User’s Events to Their Calendar .7 Use-case Description of Suggest Outfit Plans .1 Association Rules from My Outfit History for One Month .2 Initial Data Sets .3 Frequent Item Sets .1 Problem Statement People think about clothing every day. For some people, that is fun. On the other hand, many people find it a chore to do so. Therefore, I would like to develop an application that automatically makes fashion suggestions using the power of AI.
The system manages user items such as outerwear, shirts, shoes, etc. The user also creates outfits from the items. An outfit is “a set of clothes worn for a particular occasion or activity”. In the first phase, the system gathers information on what outfits are chosen for what kind of events.
The system uses association analysis techniques to analyze trends in the data set.2 Goals This thesis is about building a decision support system to help users decide on daily outfits. The system takes in outfits and corresponding events and then analyzes them to provide daily outfit suggestions to make outfit planning easier for the user. Asso- ciation analysis techniques are expected to be used in our system to make predictions of the information necessary to create daily outfit recommendations. The activity diagram shown in Figure 1.1 shows the flow of my recommendation system from website access to the system recommending an outfit and the user ac- cepting it.
First, the user accesses the website. If the user has already registered as 1 CHAPTER 1. INTRODUCTION 2 a user, the dashboard will appear after the user logs in. If the user is not registered, he/she will be taken to the dashboard after registering and logging in.
Next, the user adds his/her event to the calendar. At that time, if the user has enough outfit history, the outfit will be recommended. Association rule mining is used to recom- mend outfits. In more detail, association rules are generated from the combination of events and their corresponding outfits in the user history.
Therefore, if the user’s outfit history is non-existent or insufficient, the user must manually register the outfit along with the event. Finally, if the user accepts the recommendation of the system, the outfit is registered. If the user does not accept, the system will suggest another outfit until the user accepts.3 Scope In this thesis, I design and build an efficient decision support system that suggests the most effective combinations of outfits from the items that users have. In addition to that, I study and implement Artificial Intelligence techniques and other algorithms required for our system.
The final result is a running decision support system.4 Thesis Structure There are six chapters in this thesis. The first chapter is a brief description of the problem that should be solved and our vision. The second chapter describes the recommender system and Association rule mining. In the next section, an example of a recommendation system for an outfit and the algorithm used for the association rules are presented.
The next chapter shows how the application is implemented. In the “Result and Evaluation” chapter, my recommendation system is evaluated on the basis of data collected from actual users. Finally, conclusions and future developments are discussed.1: Activity Diagram Chapter 2 Theoretical Background 2.1 Web Application There are mainly two types of applications running on the device: those running natively on the OS and those running in a browser. Recently, mobile applications have also been on the rise due to the widespread use of mobile devices.
A web application (or web app) runs in a web browser. It is different from software that runs locally and natively on the operating system of the device. Recently, many IT companies have offered their services as web applications. These services do not require installation.
They are also easy for the provider to publish. In addition, more and more web applications are incorporating machine learning models. Therefore, I decided to implement this system as a web application and release it to the public. On a technical note, it is common practice these days to divide web applications into a front-end and a back-end.1 shows the general architecture of modern web applications.
Various frameworks are available for both the front-end and the back-end. For the front end, React, Vue, and Angular are the three most commonly used frameworks. These frameworks enable a technology called SPA (single-page applications). By switching content on a single web page, there is no need for page transitions, and web expression is not tied to browser behavior.
For the back-end, various frameworks have emerged in each programming language. When developing web applications that use machine learning, Python is often used for the back-end because of its extensive library. THEORETICAL BACKGROUND 5 Figure 2.1: Web Application Architecture CHAPTER 2.2 Recommender System A recommender system is a system that provides suggestions for items that may be desirable to a particular user. In general, the suggestions refer to various decision- making processes, such as which products to buy, which music to listen to, which online news to read, etc.
There are two main approaches to the recommendation system. One is “Collab- orative filtering”, and the other is “Content-based filtering”.1 shows the comparison of them. Collaborative filtering is a method of making recommendations based on the item user’s behavioral history. This paper [1] introduces a recommen- dation system based on collaborative filtering.
Content-based filtering, on the other hand, is a method of recommending items by sorting similarity based on the item’s features. In collaborative filtering, recommendations can be made through the behav- ioral history of other users without any information or knowledge of the target item. On the other hand, content-based recommendation requires a design that converts the features of an item into a feature vector.1: Comparison of Content-based filtering and Collaborative filtering Advantages Disadvantages Collaborative filtering No information about the Lots of user data is item is required needed Content-based filtering Works with less data Item feature are needed According to the paper [2], the recommendation system is classified into three lev- els depending on the degree of personalization. If the same recommendation is made to all users, it is classified as “non-personalized”.
When recommendations are made based on data currently entered by the user, it is called “ephemeral personalization”. The most personalized recommendation method, “persistent personalization,” makes different recommendations based on the user’s personal information and past usage history, even if the user has the same input and behavior in the system. My system is classified as “persistent personalization”. If multiple users select the same event, they will be recommended completely different outfits because they have different outfit histories.
This paper also classifies recommendation systems by business objective. THEORETICAL BACKGROUND 7 Recommendation Lists” makes recommendations using overall statistics and editors on the operator’s side. Best sellers and overall sales rankings are examples of this. In “Customer Comments and Ratings,” users make comments and reviews on a system provided by the provider.
The following measures are used by the recommendation system to evaluate the accuracy of the forecasts. The “accuracy” indicates the percentage of agreement be- tween the predicted results and the data for testing. The percentage of items deter- mined to be conforming that are actually conforming is “precision”. The percentage of items judged conforming to all conforming items is “recall”.
These numbers can be found using the confusion matrix shown in Figure 2. TP + TN • Accuracy = TP + TN + FP + FN TP • P recision = TP + FN TP • Recall = TP + FN This paper [3] discusses forecasting accuracy in detail. My system uses an algorithm for outfit suggestions. In this project, in the first stage, the user determines the outfits.
Then, once the data on user tendencies is collected, the rules of user tendencies are found from the dataset. For this purpose, association rule analysis is used in my system. Association rule mining is a rule-based machine learning method for discovering interesting relations between variables in large databases. The concept of mining association rules is explained in detail in the next section.
THEORETICAL BACKGROUND 8 Figure 2.2: Confusion Matrix CHAPTER 2.3 Association Rule Mining Association rule mining uncovers interesting patterns hidden in transactional records (usually referred to as item sets). It is best known for analyzing data sets collected from POS systems. Association rule analysis is used in a wide range of applications today. According to the original definition proposed by Agrawal [4], the problem of asso- ciation rule mining is defined as I = {i1 , i2 , .