Esempio n. 1
0
        public void DecisionTreesCreation()
        {
            var listOfStudents = this.GetStudentListForPMI43();
            var normal         = new[] { "2", "13", "6" };
            var anomalies      = new[] { "8", "10" };
            var trainingSets   = TrainingSetsCreator.GenerateTrainingSets(listOfStudents, normal, anomalies);

            Assert.AreEqual(trainingSets[0].GetCountOfRecords(), 12);
            Assert.AreEqual(trainingSets[1].GetCountOfRecords(), 6);
            Assert.AreEqual(trainingSets[2].GetCountOfRecords(), 2);
        }
        public void AnomalyDetectionAlgorithmTrainingTest()
        {
            var listOfStudents = this.GetStudentListForPMI43();
            var normal         = new[] { "2", "13", "6" };
            var anomalies      = new[] { "8", "10" };
            var trainingSets   = TrainingSetsCreator.GenerateTrainingSets(listOfStudents, normal, anomalies);

            var algirithmResults = AnomalyDetectionAlgorithm.RunAlg(
                listOfStudents, trainingSets[0], trainingSets[1], trainingSets[2]);

            Assert.AreEqual(algirithmResults.First(x => x.Key.Key.OpenId == "2").Value, false);
            Assert.AreEqual(algirithmResults.First(x => x.Key.Key.OpenId == "6").Value, false);
            Assert.AreEqual(algirithmResults.First(x => x.Key.Key.OpenId == "13").Value, false);
            Assert.AreEqual(algirithmResults.First(x => x.Key.Key.OpenId == "8").Value, true);
            Assert.AreEqual(algirithmResults.First(x => x.Key.Key.OpenId == "10").Value, true);
        }
Esempio n. 3
0
        public ActionResult TrainAlg(string[] tsNormal, string[] tsAnomalies)
        {
            int topicId          = (int)HttpContext.Session["TopicId"];
            var studentsAndMarks = _Storage.GetAllStudentListForTraining(topicId);

            TrainingSet[] tr;
            try
            {
                tr = TrainingSetsCreator.generateTrainingSets(studentsAndMarks, tsNormal, tsAnomalies);
            }
            catch (Exception ex)
            {
                HttpContext.Session["ShowError"] = true;
                return(RedirectToAction("TrainTopic", "AnomalyDetection", new { id = (int)HttpContext.Session["TopicId"] }));
            }
            return(View(AnomalyDetectionAlgorithm.runAlg(studentsAndMarks, tr[0], tr[1], tr[2])));
        }