diff options
Diffstat (limited to 'lib/similarity.rb')
-rw-r--r-- | lib/similarity.rb | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/similarity.rb b/lib/similarity.rb index deeb81f..346a342 100644 --- a/lib/similarity.rb +++ b/lib/similarity.rb @@ -1,11 +1,4 @@ -class Similarity - - # Get Tanimoto similarity - # @param [Array<Array<String>>] - # @return [Float] - def self.tanimoto fingerprints - ( fingerprints[0] & fingerprints[1] ).size/( fingerprints[0] | fingerprints[1] ).size.to_f - end +class Distance # Get Euclidean distance # @param [Array<Array<Float>>] @@ -14,6 +7,16 @@ class Similarity sq = variables[0].zip(variables[1]).map{|a,b| (a - b) ** 2} Math.sqrt(sq.inject(0) {|s,c| s + c}) end +end + +class Similarity + + # Get Tanimoto similarity + # @param [Array<Array<String>>] + # @return [Float] + def self.tanimoto fingerprints + ( fingerprints[0] & fingerprints[1] ).size/( fingerprints[0] | fingerprints[1] ).size.to_f + end # Get cosine similarity # http://stackoverflow.com/questions/1838806/euclidean-distance-vs-pearson-correlation-vs-cosine-similarity |