[ 
https://issues.apache.org/jira/browse/MAHOUT-1185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Owen resolved MAHOUT-1185.
-------------------------------

       Resolution: Not A Problem
    Fix Version/s:     (was: 0.8)

Diffs are computed over all pairs of prefs in the list. The diff of a pref and 
itself is 0 and there is no point in computing this. Thus the outer loop is 
from i=0 to length-2, and the inner loop is from j=i+1 to length-1. It is 
correct as-is.

This patch would not only cause an exception (it dereferences at length) but 
would incorrectly add a non-zero diff consisting just of the item's pref value 
-- there's no "diff" there, it's an absolute value.
                
> MemoryDiffStorage.class has a bug for slope one algorithm which could cause 
> incorrect recommendation results
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: MAHOUT-1185
>                 URL: https://issues.apache.org/jira/browse/MAHOUT-1185
>             Project: Mahout
>          Issue Type: Bug
>          Components: Collaborative Filtering
>    Affects Versions: 0.7
>         Environment: Ubuntu
>            Reporter: Cunlu Zou
>            Assignee: Sean Owen
>              Labels: patch
>         Attachments: MemoryDiffStorage.patch
>
>   Original Estimate: 10m
>  Remaining Estimate: 10m
>
> The function processOneUser(long averageCount, long userID) in the 
> MemoryDiffStorage.class file contains a bug for calculating the itemAverage. 
> Since the function tried to calculate the average difference among items (in 
> a nested loop) and also the average individual item preference value in the 
> same loop (the loop only from 0 to length-2, *for (int i = 0; i < length - 1; 
> i++)*), the itemAverage variable does not count the last item's preference 
> value for every users which could lead to an incorrect recommendation results.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to