Пример #1
0
  def testChiSquare(self):
    r1 = {'value1':5}
    r2 = {'value1':5}
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.CHI_SQUARE)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(0, distance)

    r1 = {'value1':5}
    r2 = {'value2':5}
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.CHI_SQUARE)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(10, distance)

    r1 = {'value1':5}
    r2 = {'value1':3}
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.CHI_SQUARE)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(0.5, distance)

    r1 = {'value2':2, 'value3':3}
    r2 = {'value2':6, 'value3':5}
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.CHI_SQUARE)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(2.5, distance)

    r1 = {'value1':1, 'value2':2, 'value3':3}
    r2 = {'value2':6, 'value3':5, 'value4':2}
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.CHI_SQUARE)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(5.5, distance)
Пример #2
0
  def testEuclidean(self):
    r1 = {'value1':5}
    r2 = {'value2':5}    
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.EUCLIDEAN)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(50, distance)

    r1 = {'value1':5}
    r2 = {'value1':5}
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.EUCLIDEAN)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(0, distance)

    r1 = {'value1':5}
    r2 = {'value1':3}
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.EUCLIDEAN)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(4, distance)

    r1 = {'value1':1, 'value2':2, 'value3':3}
    r2 = {'value1':5, 'value2':6, 'value3':5}
    distanceCalculator = Distances()
    distanceCalculator.set_type(Distances.EUCLIDEAN)
    distance = distanceCalculator.calculate(r1, r2)
    self.assertEqual(36, distance)