public void TestTrainValidData() { List <List <object> > validData = new List <List <object> >(); for (int i = 0; i < 5; i++) { validData.Add(GenerateValidList(5)); } List <object> validTargetData = GenerateValidTargetData(5); KnnModel.Train(validData, validTargetData); }
public void KNN_Test() { Logger.Info("KNN_Test"); var problem = ProblemFactory.CreateClassificationProblem(ClassificationProblemType.ChessBoard); Logger.Info("Loading training data."); var tSet = problem.TrainingSet; var vSet = problem.ValidationSet; var classifier = new KNN { KNN_K = 7, TrainSet = tSet }; classifier.Train(); Logger.Info("Doing cross-validation."); var hit = (from e in vSet.Examples let iResult = classifier.Predict(e.X) where e.Label.Id == iResult select e).Count(); var correctRatio = 1.0 * hit / vSet.Count; Logger.Info("CorrectRatio: {0}", correctRatio); Assert.IsTrue(correctRatio > 0.900, string.Format("KNN (2-class) Correct Ratio, expected: greater than 0.900, actual: {0}.", correctRatio)); }
public bool Train(List <List <object> > X, List <object> Y) { try { Model.Train(X, Y); } catch (InvalidDataFormatException) { return(false); } return(true); }