## 3 The Proposed Algorithm
Whether the cumulative similarity between \(U\) and his NNs that have contributed to the computation of \(p_{U,i}\) exceeds a threshold \(thr_{sim}\): The rationale behind the introduction of this criterion is that, if a rating prediction has been formulated by synthesizing the opinion of users that are \"more similar\" to \(U\), then this prediction is deemed more probable to be accurate. Formally, this criterion is expressed as \(\sum\limits_{V\in\text{NN}(U):r_{V,i}\in R}sim(U,V)\geq thr_{sim}\). Again, the optimal value for \(thr_{sim}\) is explored experimentally in Section 4. When computing a rating prediction \(p_{U,i}\) based on the DR-enriched user-item rating database, both explicitly entered ratings and DRs are considered for the calculation of the value of \(p_{U,i}\), as shown in Equation (3). Taking into consideration, though, that DRs are estimates on the user ratings, as contrasted to explicitly entered ratings which constitute factual data, it may be appropriate to assign to DRs a lower weight when compared to explicitly entered ratings for this calculation. To this end, the proposed algorithm CFDR modifies Equation (3) as follows:  
\[p_{U,i}=\overline{r_{U}}+\frac{\sum_{V\in NN_{U}}sim(U,\ V)\times w(r_{V,i})*(r _{V,i}-\overline{r_{V}})}{\sum_{V\in NN_{U}}sim(U,\ V)\times w(r_{V,i})} \tag{4}\]  
where \(w(r_{V,i})\) denotes the weight assigned to each NN user's rating taking part in the prediction formulation, depending on the type of this rating (real/explicit vs. derived, i.e., produced during the CFDR algorithm's preprocessing step). Formally, the weight \(w(r_{V,i})\) of a rating \(r_{V,i}\) is computed as shown in Equation (5):  
\[ \begin{array}{l}w(r_{V,i})\\ =\left\{\begin{array}{rl}1,&\text{if $r$ is an $\exp$ licitly entered rating}\\ w_{dr}&\text{if $r_{V,i}$ is a DR, produced in the preproces $\sin g$ step, through the}\\ &\text{insertion of a robust rating prediction in the rating matrix}\end{array}\right.\end{array}  \tag{5}\]  
where \(0<w_{dr}\leq 1\). The optimal value for parameter \(w_{dr}\) is experimentally determined in Section 4. Table 3 summarizes the concepts and notations used in the proposed algorithm. Algorithm 1 presents the preprocessing step of the CFDR algorithm that creates the DRs and the DR-enriched version of the user-item rating database according to Equations (3) and (5), while Algorithm 2 presents the prediction computation step of the CFDR algorithm, according to Equation (4). \begin{table}
\begin{tabular}{c c} \hline \hline
**Notation** & **Description** \\ \hline \(r_{U,i}\) & The rating explicitly entered by user \(U\) for item \(i\) \\ \(p_{U,i}\) & The prediction computed for the rating that user \(U\) would enter for item \(i\) \\ \(\overline{r_{U}}\) & The mean value of ratings entered by user \(U\) \\ NN\({}_{U}\) & The set of near neighbours for user \(U\) \\ sim(U,V) & The similarity between users \(U\) and \(V\) under the employed similarity metric \\ dr & Derived rating \\ thr\({}_{NN}\) & The minimum number of NNs that a rating prediction should be based on, in order to be considered “robust” and added as a derived rating \\ thr\({}_{sim}\) & The minimum cumulative similarity between a user \(U\) and his/her NNs that contributed to the calculation of some rating prediction, in order for the rating to be considered “robust” and added as a derived rating \\ w\({}_{dr}\) & The weight assigned to derived ratings \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Notations and concepts used in the CFDR algorithm. For the execution of the CFDR algorithm, the parameters _thrNN_, _thrsim_ and _wdr_, listed above, need to be determined. The optimal values of these parameters are explored experimentally in the following section, along with the evaluation of the CFDR algorithm. ``` PROCEDURE enrich_Rating_DB (Rating_DB R, int thrNN, float thrsim) /* Implementation of the preprocessing step of the CFDR, during which DRs are computed.