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); }
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); }
/// <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); }