## 4 Experimental Evaluation
### Effectiveness Analysis of LPaMI Using Graph Pattern Mining  
We use the INRIA Holidays dataset for effectiveness analysis of LPaMI. This dataset contains various images and we consider them as photographs taken by a user during his/her holiday period. To mine the patterns, we utilise gSpan, Gaston, kFISH, and GRAMI. Recall that gSpan, Gaston, and kFISH operate on the graph database, whereas GRAMI mines the patterns from the cumulated graph. Furthermore, kFISH also requires an input about the size of the pattern (number of nodes in a subgraph) to return. So, we can observe a slight variation in the results by the said algorithm. On obtaining the results from gSpan and Gaston, we observe that gSpan outputs large numbers of patterns whereas Gaston only outputs maximal frequent patterns which are fewer in number. Hence, the output of Gaston is more meaningful for learning the lifestyle patterns and behaviour of the user. For a lower minimum support threshold like 10%, we observe that there are some common patterns found by both of the algorithms (as shown in Figures 10 and 11). However, the output of Gaston contains only maximal frequent patterns which are not found by gSpan. Furthermore, the number of nodes in such patterns is normally greater than for gSpan, hence providing us with more useful information about the travelling patterns. Figures 12-15 further show the results for minimum support thresholds of 20% and 30%, respectively, for both of the algorithms. In contrast to gSpan and Gaston, kFISH facilitates learning lifestyle patterns in the form of subgraphs of certain sizes by imposing restrictions on the size of the patterns. In this way, it can serve to analyse the patterns containing certain specific nodes. The patterns of size 2, for instance, show many results with the node \"historical building\" as displayed in Figure 16. We find that there are many visits to historical places after a variety of activities like visits to the beach and amusement parks, playing with pets, and enjoying night scenes. By further detailed analysis of the results of increasing sizes, we find that this image collection is heavily dominated by trips to historical places, as demonstrated in Figures 17-19. This helps us to learn the travelling behaviour of the user; the user pays a visit to a historical place after a visit to almost every other type of place i.e., every alternative trip of the user is towards a historical place. Therefore, we find the effectiveness of kFISH in real life to be really useful. gSpan, on the other hand, outputs all the frequent subgraph patterns, which may be larger in number. Hence, it may be hard to interpret the results of a real-life scenario like that of LPaMI. Gaston produces only the maximal frequent patterns; hence their numbers are fewer than those of gSpan. However, it outputs patterns similar to those of gSpan at a higher threshold. On the other hand, by setting patterns of certain sizes, kFISH gives us more flexibility to learn lifestyle patterns with a detailed focus. Figure 9: Performance analysis of the data migration phase with various datasets, using different combinations of numbers of worker nodes in Spark against varying data migration modes. We use the GRAMI algorithm to mine frequent subgraph patterns from the cumulated graph. We adjust the frequency to be 2, 3, 4 and observe the results in Figures 20-22. Frequency 2 means that the subgraph occurred at least twice in the cumulated graph. Such output by GRAMI demonstrates the frequent behaviour of the user towards obeying certain lifestyle patterns. **Discussion on the Results:** We now discuss how the obtained result/output of LPaMI reveals the lifestyle patterns encapsulated in the photograph collections of a user. We understand that the existence/analysis of lifestyle is learned through obtained patterns which contain certain types of nodes and their frequent occurrences with the other nodes. It should be noted that we aggregate and represent similar types of places like historical venues with a unique same label.