static void Main(string[] args) { var cases = FileProvider.Load <BreastCancerData>(""); var folds = CrossValidator.CreateFolds(cases, 5, true); var watch = Stopwatch.StartNew(); for (var k = 1; k < 31; k++) { var k1 = k; var result = CrossValidator.ValidateInParallel <int>(folds, cases, ReasonerBuilder, PipelineBuilder); Console.WriteLine($"K: {k1}, AverageTime: {result.ValidationTime}, Accuracy: {result.Accuracy():0.####}"); TransformerPipeline PipelineBuilder() => new TransformerPipeline() .Add(new MinMaxNormalizer()); Reasoner ReasonerBuilder() { var cycle = new ReasoningCycle() .AddRetriever(new LshRetriever(15, 3)) .AddRetriever(new SimilarityRetriever(new MinkowskiDistance(2), 35)) .SetReuser(new KnnReuser(k1)); return(new Reasoner(cycle)); } } watch.Stop(); Console.WriteLine($"TotalExecutionTime: {watch.ElapsedMilliseconds}, AverageFoldTime: {watch.ElapsedMilliseconds / 30d}"); Console.ReadLine(); }