## 5 Evaluation and Discussion
### Runtime Evaluation and Comparision  
It is observed that TKIFRPM (i.e., average runtime = 3.15 s) takes less time to find and produce designated topmost-K patterns then MTKPP (i.e., average runtime = 83.16 s) in the first iteration, as shown in Figure 3a. However, if a dataset size is large, the MTKPP method is expected to consume more time to find the topmost-K patterns due to its multiple scans and support calculation architecture. In the second iteration, it is observed that TKIFRPM (i.e., average runtime = 1.33 s) is more efficient, performance-wise, at producing designated topmost-K patterns than the MTKPP (average runtime = 1.98 s), as shown in Figure 3b. However, in the third iteration, as the dataset size is increased, the performance of TKIFRPM (i.e., average runtime = 1.60 s) is a little slower to produce designated topmost-K patterns than the MTKPP (average runtime = 0.29 s), as shown in Figure 3c. It is due to the fact that in these datasets, the patterns could be of the similar/same support, and that the MTKPP architecturally skips the multiple patterns of the same support during its computation process for producing designated topmost-K patterns and results in a shorter time. However, the TKIFRPM do not skip multiple patterns of the similar/same support, and ranks them properly to produce designated topmost-K patterns because of its identical characteristics, in order to pick and process all the identical patterns. On the accident dataset, the TKIFRPM performs better to produce designated topmost-K patterns then the MTKPP in all three iterations. In the first iteration, the TKIFRPM has an average runtime of 104.86 s, and the MTKPP has an average runtime 2061.55 s, as shown in Figure 4a. In the second iteration, the TKIFRPM has an average runtime of 225.13 s, and the MTKPP has average runtime of 3303.69 s, as shown in Figure 4b. In the third iteration, the TKIFRPM has average runtime of 382.95 s, and the MTKPP has average runtime of 4637.52 s, as shown in Figure 4c. For all iterations, it is due to the fact that MTKPP performs multiple scans for support calculation to produce designated topmost-K patterns, which results in a long runtime, whereas TKIFRPM does not perform multiple scans, which results in low runtime and makes TKIFRPM more efficient than MTKPP in terms of performance. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Datasets** & **Number of Items** & **Average Pattern Length** & **Number of Transactions** \\ \hline Mushroom & 119 & 23 & 8, 124 \\ Accident & 468 & 33.8 & 340, 183 \\ Chess & 76 & 37 & 3, 196 \\ \hline \hline \end{tabular}
\end{table} 
Table 7: Benchmark datasets description. Figure 3: (**a**) Performance trends of the first iteration on the mushroom dataset. (**b**) Performance trends of the second iteration on the mushroom dataset. (**c**) Performance trends of the third iteration on the mushroom dataset. Figure 4: (**a**) Performance trends of the first iteration on the accident dataset. (**b**) Performance trends of the second iteration on the accident dataset. (**c**) Performance trends of the third iteration on the accident dataset. On the chess dataset, the MTKPP takes less time (i.e., average runtime = 108.12 s) than TKIFRFM (i.e., average runtime = 474.73) to produce designated topmost-K patterns in the first iteration, as shown in Figure 5a. This is because the size of the dataset is initially small. Having a small number of multiple patterns of the same support, as discussed earlier, means that MTKPP skips multiple patterns of the same support, while TKIFRFM do not skip them and processes them properly. In addition, due to being a small dataset, the MTKPP picks the patterns with a length equal to 1 of the highest support, whereas TKIFRFM picks multiple patterns of variable length and of the K highest support simultaneously. However, as the size of the dataset grows, the TKIFRFM performs better to produce designated topmost-K patterns as compared to MTKPP in iterations two and three, respectively.