I followed the Pearson Similarity docs
and found 2 major characteristics of the described algorithm, that make it NOT a good choice for the suggested use-case.
- 0-deviation sets always give 0 in result:
RETURN algo.similarity.pearson([1,1,1,2], [1,1,1,1]) ---> 0.0
- linearity detection is the major goal of this algorithm:
RETURN algo.similarity.pearson([1, 2], [2, 1]) --> -1.0 RETURN algo.similarity.pearson([1, 2], [9, 10]) --> 1.0
Both may be generally in line with the definition, but IMO stay in opposite to the 'intuitive' similarity and make me wonder, how one can use Pearson for this kind of recommendations.
The point of this post is to ask for your experiences with similarity algos for recommendations (any suggestions?) and to warn you about using Pearson based on the docs solely, with no deeper consideration on how it works.
note: I use
algo.similarity here (deprecated, I know) but the same apllies to