Beispiel #1
0
        public double ComputeCosineSimilarity(double[] compositeVector, double[] comparedVector, int current, int total)
        {
            var percentageFinished = ComputePercentageFinished(current, total);

            _hubContext.Clients.All.percentageFinishedClient(percentageFinished);
            return(Math.Round(_cs.GetSimilarityScore(compositeVector, comparedVector), 5));
        }
Beispiel #2
0
        public void CosineSimilarityTest( )
        {
            CosineSimilarity sim = new CosineSimilarity( );

            Assert.Throws <ArgumentException>(() => sim.GetSimilarityScore(p0, q4));

            double result = sim.GetSimilarityScore(p0, q0);

            Assert.AreApproximatelyEqual(result, .8, 0.00001);

            result = sim.GetSimilarityScore(p1, q1);
            Assert.AreApproximatelyEqual(result, 0.97014, 0.00001);

            result = sim.GetSimilarityScore(p2, q2);
            Assert.AreEqual(result, 0);

            result = sim.GetSimilarityScore(p3, q3);
            Assert.AreApproximatelyEqual(result, 1, 0.00001);

            result = sim.GetSimilarityScore(p4, q4);
            Assert.AreApproximatelyEqual(result, 0.96065, 0.00001);

            result = sim.GetSimilarityScore(p5, q5);
            Assert.AreApproximatelyEqual(result, 0.96897, 0.00001);
        }
        public void CosineSimilarityTest()
        {
            CosineSimilarity sim = new CosineSimilarity();

            // TODO: Re-enable argument checking only for debugging
            // Assert.Throws<ArgumentException>(() => sim.GetSimilarityScore(p0, q4));

            double result = sim.GetSimilarityScore(p0, q0);

            Assert.AreEqual(result, .8, 0.00001);

            result = sim.GetSimilarityScore(p1, q1);
            Assert.AreEqual(result, 0.97014, 0.00001);

            result = sim.GetSimilarityScore(p2, q2);
            Assert.AreEqual(result, 0);

            result = sim.GetSimilarityScore(p3, q3);
            Assert.AreEqual(result, 1, 0.00001);

            result = sim.GetSimilarityScore(p4, q4);
            Assert.AreEqual(result, 0.96065, 0.00001);

            result = sim.GetSimilarityScore(p5, q5);
            Assert.AreEqual(result, 0.96897, 0.00001);
        }
Beispiel #4
0
        public double GetDistance(double[] p, double[] q)
        {
            CosineSimilarity cosineSimilarity = new CosineSimilarity();

            return(1.0 - cosineSimilarity.GetSimilarityScore(p, q));
        }
Beispiel #5
0
 public float GetCosineDistance(float[] vector1, float[] vector2)
 {
     return((float)sim.GetSimilarityScore(vector1.Select(x => (double)x).ToArray(), vector2.Select(x => (double)x).ToArray()));
 }