It does use the order: double discount = i == 0 ? 1.0 : 1.0 / log2(i + 1);
The "score" you gain for recommending a relevant item decreases as you go down the list of recommendations. As the comments in the code note, relevance is 1 for relevant items and 0 for others. There is no point in showing a term multiplied by 1, or 0. On Wed, Apr 4, 2012 at 10:19 PM, ziad kamel <ziad.kame...@gmail.com> wrote: > DCG should check the order and the formula seems not , just check if > it contains the item > > if (relevantItemIDs.contains(item.getItemID())) { > cumulativeGain += discount; > } > > Second thing is that it have a relevance number "rel" which the > formula don't use. > > > > > On Wed, Apr 4, 2012 at 3:54 PM, Sean Owen <sro...@gmail.com> wrote: >> It's the same formula, what do you think is different? >> >> On Wed, Apr 4, 2012 at 9:35 PM, ziad kamel <ziad.kame...@gmail.com> wrote: >>> Hi , I checked the code for NDCG and it seems not same as >>> http://en.wikipedia.org/wiki/Discounted_cumulative_gain >>> How that formula was derived ? >>> >>> Thanks