# A Novel Hybrid Recommender System for the Tourism Domain
## 5 Experimental Evaluation and Results  
In this section we assess the performance of our algorithms on real-world data comprising 430 points of interest from the city of Agios Nikolaos by using a lab computer with AMD Ryzen 7 3700x 8-core processor \(x\) 16 CPU with a GeForce RTX 3080 GPU. We collected information related to _users' preferences_ from questionnaires filled out by 150 actual short-term visitors and used these data to generate a set of 600 synthetic users. We categorized the synthetic users to six different age classes (100 tourists per class), namely 17-25, 26-35, 36-45, 36-45, 46-55, 56-67 and 67+. Figure 7: Overview of the CB recommender part of the Hybrid RS. In order to generate the synthetic users' profiles, we proceeded as follows. We first computed an average profile for each age class, containing the average values of the 12 features representing user preferences, as listed in the filled-in questionnaires of the real tourists belonging to that particular class. Specifically, these 12 features were used: _Family friendly facilities and activities_, _Lucxury Accommodation_, _Affordable Prices_, _Culture_, _Shopping Local Products_, _Sun and Sea_, _Rural Tourism_, _Sports and Adventure_, _General Shopping_, _Nightlife_, _Cuisine and Gastronomy_, _Archaeology or History_. (We remind the reader that these 12 features correspond to the 12 \"POI character\" features, in accordance to the \"You Are What You Consume\" approach.) Subsequently, for each class, we sampled 100 random user profiles from a multivariate normal distribution, generated using the mean vector from the average \"real tourist\" profile mentioned above; its covariance matrix is diagonal with all its eigenvalues equal to 2. We assess the _content-based_ and _Hybrid_ recommender (described in Sections 3 and 4) separately in the following subsections, and we compare their results. In our experimental setting each (synthetic) user interacts with the recommenders 30 times (each time without storing any information about the model for the next run of the system). Thus the set of generic images provided to her is not necessarily always the same. As explained in the previous sections, the elicitation process differs between the two CB (see Section 3.1) and Hybrid (see Section 4.1) recommenders, both in the number of generic images presented to the user and their functionality. For each user, we utilize \(k\)-means clustering [38] to classify all POIs to two distinct categories, specifically, those that are close to her profile, termed the _relevant POIs_, while the complementary set is that of _irrelevant POIs_. Since we are interested primarily in the intersection of POIs which are relevant to those recommended by each of our algorithms, we denote as \(Rec_{r}\) the average cardinality of this set of POIs over all 100 users per age group, and over 30 runs per user. We evaluate the performance of our algorithms by employing the well-known _precision_ and _recall_ measures of recommendations' quality [39]. Notably, precision is the quotient of the number of recommended relevant POIs over the number of all (relevant and irrelevant) recommended POIs; the latter, in our case, is always 20. Recall is the quotient of the number of recommended relevant POIs over the number of all (recommended and non-recommended) relevant POIs. Now, let us provide an intuitive interpretation of precision and recall. Recall decreases when the non-recommended relevant POIs increase, while the precision is greater when the algorithm recommends fewer irrelevant POIs. Therefore, we can utilize recall in order to provide an assessment tool for users who evaluate the performance of our application based on whether they did not visit a relevant POI. On the other hand, we employ precision to model the evaluation of our algorithms from users who are interested in not visiting any irrelevant POI.