Class: Suggestor::Algorithms::PearsonCorrelation

Inherits:
Object
  • Object
show all
Includes:
RecommendationAlgorithm
Defined in:
lib/suggestor/algorithms/pearson_correlation.rb

Overview

Instance Attribute Summary

Attributes included from RecommendationAlgorithm

#collection

Instance Method Summary collapse

Methods included from RecommendationAlgorithm

#initialize, #recommended_to, #shared_items, #similar_related_to, #similar_to

Instance Method Details

#similarity_score(first, second) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
# File 'lib/suggestor/algorithms/pearson_correlation.rb', line 36

def similarity_score(first, second)
  return -1.0 if nothing_shared?(first, second)

  process_values(first, second)

  numerator   = difference_from_values
  denominator = square_root_from_differences

  return 0.0 if denominator == 0
  numerator / denominator
end