# Addressing the Cold-Start Problem in Recommender Systems Based on Frequent Patterns
## 3 Proposed Methodology
Then, we transformed the ratings within the MovieLens dataset into binary values (1 for ratings higher than 2 and 0 otherwise) to apply the ARM algorithm. Thus, the frequent itemsets for each cluster of users were extracted by applying the Apriori ARM algorithm [48]. In the case of a user cluster, a discriminant itemset consists of products that can be recommended (cell value equals 1) to each user of a cluster, based on Equation (4). In the MovieLens dataset, the user-product matrix contains user IDs and movie IDs. The initial data matrix with 943 rows and 1682 columns, contains 100,000 ratings, which corresponds to a density of around 6.3%. The user-product matrix is too sparse, i.e., includes users that have not rated a lot of movies. The objectives of the proposed methodology are:

* To increase the density of the initial matrix by recommending more movies to users who have a small rating history (_in-matrix prediction_);
* To recommend movies to _new users_ with no rating history at all, based on the rating history of users with similar characteristics (_out-of-matrix prediction_). To validate the experimental results, we used the _k-fold_ cross-validation procedure. In this type of validation, a data set is first randomly divided into \(k\) disjoint folds that have approximately the same number of instances. Then, every fold in turn plays the role of testing the model induced from the other _k-1_ folds [49]. The rows (users) of the initial matrix were randomly divided into \(k=10\) disjoint subsets with each one consisting of \(m_{i}=nofu/k=94\) rows, where \(nofu=943\) is the total number of rows (users) and \(i\in[1,10]\). A _10-fold_ cross-validation is performed for _out-of-matrix prediction_, i.e., all the rows of a subset are removed from the initial input matrix, and they are considered as the test set, thus representing the cold (new) users with no rating history for products. In addition, a _10-fold_ cross-validation is performed for _in-matrix prediction_, i.e., for each row of a subset, a randomly selected fraction \(p\) of cell values equal to 1 or 0 are deleted, thus representing the cold (new) users with a little rating history for products. The deleted cells of each row of a subset (not the entire row) form the test set and \(p\) varies from 30% to 90% of each row's number of cells. The cells were removed by randomly selecting \(p/2\) of cells of a row with value 1 and \(p/2\) of cells of a row with value 0. To evaluate the proposed methodology, we compare the added cell values within the test set to the initial values of these cells within the initial user-product matrix, i.e., we test how well the proposed methodology predicts if a new user might like a product. We adopt well-known literature evaluation measures that are used in similar problems (e.g., in diagnostic tests that identify if a disease is present compared to definitive tests that show the true prevalence of a [50; 51; 52] disease). These measures are sensitivity and positive predictive value. In this work, the sensitivity measure is defined as the proportion of the true positives, i.e., the number of users successfully predicted by the proposed methodology as advocates of a product (predicted cell value is 1) to the number of all positives, i.e., the number of users who have explicitly stated that they like a product within the initial user-product matrix. In addition, in this work, the positive predictive value of a test is defined as the proportion of the true positives to both true and false positives, i.e., the number of users predicted (successfully or not) by the proposed methodology as advocates of a product (predicted cell value is 1).