# Addressing the Cold-Start Problem in Recommender Systems Based on Frequent Patterns
## 3 Proposed Methodology
### Recommendation

During Step 5, the user-product matrix is updated based on the extracted discriminant itemsets. Each row representing a certain user is updated based on discriminant itemsets of the user cluster it belongs to. A discriminant itemset \(dis_{c_{i}a}\) is used for updating a row if it conflicts with the latter for less than a predefined threshold \(ct\). \[ \begin{array}{l}\text{Discriminant itemset }dis_{cia}=\{p_{i}\mid 1\leq i\leq nofp\} \in DFIS_{c_{i}}\text{ conflicts with a }\\ row_{i}=\left\{cell_{1},\;\ldots,cell_{nofp}\right\}\text{, \emph{iff} }\left|\left\{cell_{i}|cell_{i}=0\;and\;p_{i}=1\right\}\right|<\;|dis_{c_{i}a }|*ct\end{array}  \tag{4}\]

Intuitively, a discriminant itemset that recommends to a user to purchase a considerable (above threshold) number of products \((p_{i}=1)\) contrary to explicitly stated user's preference \((cell_{i}=0)\), cannot be trusted. Otherwise, if a discriminant itemset can be trusted then the row is updated by setting \((cell_{i}=p_{i})\), unless \(cell_{i}=0\). ### An Illustrative Example

The following example depicts the proposed methodology in a more analytic way. Assume that one of the extracted clusters \(c_{1}\) contains the users \(u_{1},\;u_{3},\;u_{4}\). Assume that a discriminant itemset extracted is \(\{p_{1},p_{3}\}\). User \(u_{1}\) has positively rated \(p_{1}\)\((cell_{1}=1)\) and \(p_{3}\)\((cell_{3}=1)\), thus the corresponding row is not actually updated. User \(u_{3}\) has positively rated \(p_{1}\)\((cell_{1}=1)\), while (s)he did not rate \(p_{3}\)\((cell_{3}=null)\), thus the corresponding row is updated by setting \((cell_{3}=1)\). User \(u_{4}\) has positively rated \(p_{1}\)\((cell_{1}=1)\) and negatively \(p_{3}\)\((cell_{3}=0)\), thus the corresponding row is not updated since the method does not change the explicitly stated user's preferences. The extracted cluster \(c_{2}\) contains users \(u_{2},\;u_{6},u_{7},\;u_{8}\). Assume that a discriminant itemset for that cluster is \(\{p_{1},\;p_{4},p_{5}\}\). User \(u_{6}\) has positively rated \(p_{1}\)\((cell_{1}=1)\) and negatively \(p_{4}\)\((cell_{4}=0)\), while (s)he did not rate \(p_{5}\)\((cell_{5}=null)\). Given that the threshold \(ct=0.25\), the corresponding row is not updated by setting \((cell_{5}=1)\) since the discriminant itemset \(\{p_{1},p_{4},p_{5}\}\) conflicts with the row for more than the predefined threshold \((1/3>0.25)\). Note that if the threshold was set to \(ct=0.5\), the corresponding row would have been updated by setting \(cell_{5}=1\)\((1/3<0.5)\). User \(u_{7}\) has already positively rated \(p_{1}\)\((cell_{1}=1),\;p_{4}\)\((cell_{4}=1),\;p_{5}(cell_{5}=1)\), thus the corresponding row \(u_{7}\) is not updated. User \(u_{8}\) has positively rated \(p_{1}\)\((cell_{1}=1)\) and \(p_{4}\)\((cell_{4}=1)\) while (s)he did not rate \(p_{5}\)\((cell_{5}=null)\), thus the corresponding row is updated by setting \((cell_{5}=1)\). At last, user \(u_{2}\) is a cold user with no rating history, thus the discriminant itemset updates \(cell_{1},\;cell_{4},cell_{5}\) with value \(1\). ## 4 Empirical Results

In this section, we evaluate the proposed methodology using the MovieLens dataset [46] which is widely used as a benchmark in the recommender systems' field [8; 9; 10; 11; 12; 13; 14]. We will first describe the input dataset and the experimental setup and then we will present the experimental results. The MovieLens dataset consists of 100,000 ratings (from 1 to 5) from 943 users on 1682 movies. Each user has rated at least 20 movies. Simple demographic info for the users (age, gender, occupation, zip) is used. The proposed methodology takes into consideration users' attributes and creates clusters of users that are similar. Then, it exploits these similarities to recommend products to users with small or no purchase (or rating) history (cold-start users). At first, we applied the Kmodes algorithm [47] to perform user clustering, since the user's demographic attributes are categorical.