public MainWindow() { InitializeComponent(); #if histogram getHistogram("C:\\Users\\PrairieRose\\Documents\\GitHub\\HabilisX\\Infer.NET 2.5\\Samples\\C#\\LDA\\TestLDA\\890.bib"); return; #endif #if excel makeExcel("C:\\Users\\prairierose\\Documents\\GitHub\\HabilisX\\HabilisX\\HabilisX\\Resources\\bibtexUnrelated.txt"); return; #endif String Path = "C:\\Users\\prairierose\\Documents\\GitHub\\HabilisX\\HabilisX\\AnalyzeResults\\Results\\"; String[] files = { "ThomasRelatedMendeley.bib", "ThomasRelatedHabilis.bib", "AdamRelatedMendeley.bib", "AdamRelatedHabilis.bib", "MikeRelatedMendeley.bib", "MikeRelatedHabilis.bib", "StephenRelatedMendeley.bib", "StephenRelatedHabilis.bib", "TonyRelatedMendeley.bib", "TonyRelatedHabilis.bib", "WillRelatedMendeley.bib", "WillRelatedHabilis.bib", "JimRelatedMendeley.bib", "JimRelatedHabilis.bib", "ChrisRelatedMendeley.bib", "ChrisRelatedHabilis.bib", }; Database sources = new Database(0); Database distractors = new Database(1); Database dataset1 = new Database(2); Database dataset2 = new Database(3); String TabDeliniatedOutput = "MTP\tMFP\tMTN\tMFN\tHTP\tHFP\tHTN\tHFN\n"; for (int i = 0; i < files.Length; i++) { String FileName = files[i]; int end = FileName.LastIndexOf("Related"); int period = FileName.LastIndexOf("."); String Name = FileName.Substring(0, end); Console.WriteLine(Name + "'s " + FileName.Substring(end + 7, (period - (end + 7))) + " Results"); Database cur; Database results = new Database(Path + FileName); if (dataset1.Contains(results.allEntries[0])) { cur = dataset1; Console.WriteLine("Dataset 1"); } else { cur = dataset2; Console.WriteLine("Dataset 2"); } Console.WriteLine("Related Size: " + results.Count()); int truePositive = 0; int trueNegative = 0; int falsePositive = 0; int falseNegative = 0; foreach(Entry e in cur.allEntries){ if (results.Contains(e) && sources.Contains(e)) { truePositive++; } else if(results.Contains(e) && distractors.Contains(e)){ falsePositive++; } else if (sources.Contains(e) && !results.Contains(e)) { falseNegative++; } else if (distractors.Contains(e) && !results.Contains(e)) { trueNegative++; } else { Console.WriteLine("found something uncategorizable: " + e.printAttribute("title")); } } Console.WriteLine(" TRUE || FALSE"); if (truePositive > 9) { Console.WriteLine("POS: " + truePositive + " || " + falsePositive); } else { Console.WriteLine("POS: " + truePositive + " || " + falsePositive); } if (trueNegative > 9) { Console.WriteLine("NEG: " + trueNegative + " || " + falseNegative); } else { Console.WriteLine("NEG: " + trueNegative + " || " + falseNegative); } if (trueNegative + truePositive + falseNegative + falsePositive != 37) { Console.WriteLine("There may be a problem here: " + (trueNegative + truePositive + falseNegative + falsePositive)); if (truePositive + falsePositive != results.allEntries.Count) Console.WriteLine("problem with positive"); } TabDeliniatedOutput += Name + "\t" + truePositive + "\t" + falsePositive + "\t" + trueNegative + "\t" + falseNegative + "\t"; if (i % 2 != 0) { TabDeliniatedOutput += "\n"; Console.WriteLine("_________________________"); } Console.WriteLine(); } Console.WriteLine(TabDeliniatedOutput); }
private void LoadFromFile(String filePath) { foreach (Entry entry in this.entries) { MyScatterView.Items.Remove(entry); } this.entries = new List<Entry>(); String str = System.IO.Directory.GetCurrentDirectory(); str = str.Substring(0, str.LastIndexOf("\\")); str = str.Substring(0, str.LastIndexOf("\\")); str = str + filePath; Database loadedData = new Database(str); Database originalData = new Database(); foreach (Entry data in originalData.allEntries) { if (!loadedData.Contains(data)) { loadedData.addEntry(data); } } Console.WriteLine("Number of cards in saved data: " + loadedData.allEntries.Count); foreach (Entry entry in loadedData.allEntries) { if (entry.attributes.ContainsKey("x") && entry.attributes.ContainsKey("y") && entry.attributes.ContainsKey("orientation")) { Double x = Double.Parse(entry.attributes["x"].ToString()); Double y = Double.Parse(entry.attributes["y"].ToString()); ; if (x > 1800) { x = 500; } if (y > 900) { y = 500; } entry.Center = new Point(x, y); entry.Orientation = Double.Parse(entry.attributes["orientation"].ToString()); AddToScreen(entry); } else { AddToScreen(entry); } } }