public void GetLinksAtRecall100()
        {
            TLLinksList list = TLSimilarityMatrixUtil.GetLinksAtRecall(sims, oracle, 1.0);

            #if Verbose
            Console.WriteLine("TLSimilarityMatrixUtilTest.GetLinksAtRecall100()");
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine("{0}\t{1}\t{2}",
                                  list[i].SourceArtifactId,
                                  list[i].TargetArtifactId,
                                  list[i].Score
                                  );
            }
            #endif
            Assert.AreEqual(9, list.Count);
            TLLinksList expected = new TLLinksList();
            expected.Add(new TLSingleLink("A", "B*", 10));
            expected.Add(new TLSingleLink("A", "E", 9));
            expected.Add(new TLSingleLink("A", "F", 8));
            expected.Add(new TLSingleLink("A", "C*", 7));
            expected.Add(new TLSingleLink("A", "G", 6));
            expected.Add(new TLSingleLink("A", "H", 5));
            expected.Add(new TLSingleLink("A", "I", 4));
            expected.Add(new TLSingleLink("A", "J", 3));
            expected.Add(new TLSingleLink("A", "D*", 2));
            for (int i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i], list[i]);
            }
        }
        public override void Compute()
        {
            TLSimilarityMatrix matrix = (TLSimilarityMatrix)Workspace.Load("Matrix");
            TLSimilarityMatrix pruned = TLSimilarityMatrixUtil.CreateMatrix(TLSimilarityMatrixUtil.GetTopNLinks(matrix, _config.N));

            Workspace.Store("PrunedMatrix", pruned);
        }
        public void GetLinksAboveThresholdProvided()
        {
            TLLinksList list = TLSimilarityMatrixUtil.GetLinksAboveThreshold(sims, 4);

            list.Sort();
            #if Verbose
            Console.WriteLine("TLSimilarityMatrixUtilTest.GetLinksAboveThresholdProvided()");
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine("{0}\t{1}\t{2}",
                                  list[i].SourceArtifactId,
                                  list[i].TargetArtifactId,
                                  list[i].Score
                                  );
            }
            #endif
            Assert.AreEqual(6, list.Count);
            TLLinksList expected = new TLLinksList();
            expected.Add(new TLSingleLink("A", "B*", 10));
            expected.Add(new TLSingleLink("A", "E", 9));
            expected.Add(new TLSingleLink("A", "F", 8));
            expected.Add(new TLSingleLink("A", "C*", 7));
            expected.Add(new TLSingleLink("A", "G", 6));
            expected.Add(new TLSingleLink("A", "H", 5));
            for (int i = 0; i < expected.Count; i++)
            {
                Assert.AreEqual(expected[i], list[i]);
            }
        }
        public override void Compute()
        {
            TLSimilarityMatrix matrix = (TLSimilarityMatrix)Workspace.Load("Matrix");
            TLSimilarityMatrix pruned = TLSimilarityMatrixUtil.CreateMatrix(TLSimilarityMatrixUtil.RemoveBottomPercentage(matrix, _config.Percentage));

            Workspace.Store("PrunedMatrix", pruned);
        }
예제 #5
0
        public override void Compute()
        {
            TLSimilarityMatrix matrix       = (TLSimilarityMatrix)Workspace.Load("Matrix");
            TLSimilarityMatrix answerMatrix = (TLSimilarityMatrix)Workspace.Load("AnswerMatrix");
            TLSimilarityMatrix pruned       = TLSimilarityMatrixUtil.CreateMatrix(TLSimilarityMatrixUtil.GetLinksAtRecall(matrix, answerMatrix, _config.RecallLevel));

            Workspace.Store("PrunedMatrix", pruned);
        }
        public override void Compute()
        {
            TLSimilarityMatrix   original    = (TLSimilarityMatrix)Workspace.Load("OriginalMatrix");
            IEnumerable <string> artifactIDs = TLSimilarityMatrixUtil.GetSetOfTargetArtifacts((TLSimilarityMatrix)Workspace.Load("TargetMatrix"));
            TLSimilarityMatrix   matrix      = TLSimilarityMatrixUtil.CreateMatrix(TLSimilarityMatrixUtil.ExtractLinks(original, artifactIDs, true));

            Workspace.Store("ExtractedLinks", matrix);
        }
예제 #7
0
        /// <summary>
        /// Normalizes a similarity matrix
        /// </summary>
        /// <param name="matrix">Similarity matrix</param>
        /// <returns>Normalized similarity matrix</returns>
        public static TLSimilarityMatrix Normalize(TLSimilarityMatrix matrix)
        {
            TLSimilarityMatrix norm   = new TLSimilarityMatrix();
            double             mean   = TLSimilarityMatrixUtil.AverageSimilarity(matrix);
            double             stdDev = TLSimilarityMatrixUtil.SimilarityStandardDeviation(matrix);

            foreach (TLSingleLink link in matrix.AllLinks)
            {
                norm.AddLink(link.SourceArtifactId, link.TargetArtifactId, (link.Score - mean) / stdDev);
            }
            return(norm);
        }