Beispiel #1
0
 def testWeightedCosSim(self):
     self.assertAlmostEqual(weightedCosSim(Vector([1, 1]).data, Vector([1, 1]).data, [1, 1]), 1)
     self.assertAlmostEqual(weightedCosSim(Vector([1, 1]).data, Vector([1, -1]).data, [1, 1]), 0)
     self.assertAlmostEqual(weightedCosSim(Vector([0, 0.25]).data, Vector([1, 1]).data, [1, 1]), math.sqrt(0.5))
     assert weightedCosSim(Vector([0, 0]).data, Vector([1, 1]).data, [0, 0]) == 0
     assert weightedCosSim(Vector([2, 12]).data, Vector([13, 15]).data, [0, 0]) == 0
     self.assertRaises(TypeError, lambda: weightedCosSim(Vector([1, 1, 1]).data, Vector([1, 1]).data, [1, 1]))
     self.assertRaises(TypeError, lambda: weightedCosSim(Vector([1, 1]).data, Vector([1, 1]).data, [1, 1, 1]))
     print '\nPassed WeightedCosSim tests!'
Beispiel #2
0
 def get_sim(self, vector1, vector2):
     try:
         sim = weightedCosSim(vector1.data, vector2.data, self.weights)
         if self.subtractMean:
             sim -= MEAN_WEIGHTED_COSINE
         if self.divideByStdDev:
             sim /= STD_DEV_WEIGHTED_COSINE
         return sim
     except StandardError:
         # if len(vector1) != len(vector2) or len(self.weights) != len(vector1):
         # raise Exception("differing vector lengths")
         return 0
 def get_sim(self, vector1, vector2):
     try:
         sim = weightedCosSim(vector1.data, vector2.data, self.weights)
         if self.subtractMean:
             sim -= MEAN_WEIGHTED_COSINE
         if self.divideByStdDev:
             sim /= STD_DEV_WEIGHTED_COSINE
         return sim
     except StandardError:
         # if len(vector1) != len(vector2) or len(self.weights) != len(vector1):
         # raise Exception("differing vector lengths")
         return 0