I'm currently studying this item-based collaborative filtering algorithm on this thesis that I've researched and I've formulated the algorithm below based on it. I have no problem on steps 1 to 3 but in step 4 it says there: Set the threshold value n.
How can I determine the value of n? Is there a formula for getting the value of it? I already checked it out but there's nothing there.
And also in Step 5: Select the K most similar products in M. The same question, how can I compute the value of K?

  1. Retrieve all the item rated by an active user and put it to Q.
  2. Isolate the users who have rated both the target item (i) and the items rated by the active user in Q, get the item and put it in R. (co-rated items)
  3. Calculate the item similarities using the Pearson Correlation Coefficient with all the items (j) in R.
  4. Set the threshold value n, If the similarity of i and j is greater or equal to n, (sim(i,j) >= n), Then include it in M.
  5. Select the K most similar products in M.
  6. Take the weighted average of the users rating on these similar items K.
  • $\begingroup$ Where in the thesis is that from? Have you tried contacting the author of the thesis for clarification? $\endgroup$
    – D.W.
    Aug 4, 2013 at 22:02
  • $\begingroup$ Actually Sir I've only formulated the algorithm based on my understanding on his thesis. And because the author didn't give his email or number, I've tried to research on the net on his name but unfortunately I can't verify if he is really the person I'm looking for. $\endgroup$
    – Harvey
    Aug 6, 2013 at 4:36

1 Answer 1


My guess is that these are free parameters of the algorithm that you must set somehow. For instance, you might evaluate different choices of these parameters on a set of training data to see which performs the best. You could also use cross-validation or other techniques to evaluate different settings of these parameters.

Note that p.46 of the thesis says "This threshold value is based on the predicted ratings that are achieved after running the item-based collaborative filtering algorithm." That sounds consistent with my interpretation above.

In general, I would recommend reading the original, published, peer-reviewed research papers on algorithms for this problem. I would expect them to generally be of relatively high quality, and to be more likely to explain the algorithm and methodology in full (or cite a source that does).

  • $\begingroup$ If my understanding is correct and based on what you've said, it is me who will set the threshold value n and also the K value. Okay I understand that but I don't have any idea how am I going to compute those two values? Is it relative to the size of the dataset or something like that? $\endgroup$
    – Harvey
    Aug 6, 2013 at 4:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.