Skip to content

recommendationEngine.js in "solution" branch calculates "total" incorrectly in calculateAgreement and calculateDisagreement #2

@Zerim

Description

@Zerim

In the "solution" branch, the "total" variable is calculated incorrectly here:

var total = agreements + symmetricDifference(user1.likes, user2.likes).length + symmetricDifference(user1.dislikes, user2.dislikes).length

and here:

var total = disagreements + symmetricDifference(user1.likes, user2.dislikes).length + symmetricDifference(user1.dislikes, user2.likes).length

var total = agreements + symmetricDifference(user1.likes, user2.likes).length + symmetricDifference(user1.dislikes, user2.dislikes).length

...will double-count certain movies in the case where one user likes some of the movies that the other user dislikes.

The same applies for...

var total = disagreements + symmetricDifference(user1.likes, user2.dislikes).length + symmetricDifference(user1.dislikes, user2.likes).length

...when one user likes some of the same movies as the other user.

This causes the final value to be returned by both functions and fed into calculateSimilarity to be incorrect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions