Class: SameSame::SimilarityMatrix

Inherits:
Object
  • Object
show all
Defined in:
lib/same_same/similarity_matrix.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(measure, datapoints) ⇒ SimilarityMatrix

Returns a new instance of SimilarityMatrix.



5
6
7
8
9
# File 'lib/same_same/similarity_matrix.rb', line 5

def initialize( measure, datapoints )
  @matrix     = SymmetricalMatrix.new( datapoints.size )
  @measure    = measure
  @datapoints = datapoints
end

Instance Attribute Details

#datapointsObject (readonly)

Returns the value of attribute datapoints.



3
4
5
# File 'lib/same_same/similarity_matrix.rb', line 3

def datapoints
  @datapoints
end

#matrixObject (readonly)

Returns the value of attribute matrix.



3
4
5
# File 'lib/same_same/similarity_matrix.rb', line 3

def matrix
  @matrix
end

#measureObject (readonly)

Returns the value of attribute measure.



3
4
5
# File 'lib/same_same/similarity_matrix.rb', line 3

def measure
  @measure
end

Instance Method Details

#lookup(i, j) ⇒ Object



11
12
13
14
15
16
# File 'lib/same_same/similarity_matrix.rb', line 11

def lookup(i,j)
  return 1.0 if i == j
  matrix.lookup(i,j) do |x,y|
    measure.similarity( datapoints[x], datapoints[y])
  end
end