public void TrainModelAndTestModelTest(string trainFile, string testFile, int chunkSize, int numOfChunk)
        {
            var trainModel = new TrainModel(numOfChunk, 2, 64, 0.1);
            var trainDataset = new ClassifiedDataset(trainFile, 64, 2);

            var testModel = new TestModel(numOfChunk, 2, 0.1, trainModel.GetWeights());
            var testDataset = new UnclassifiedDataset(testFile, 64);

            int count = 0;

            foreach (var chunk in trainDataset.GetClassifiedVectorsInChunks(chunkSize))
            {
                trainModel.Train(chunk, count);
                if (++count == numOfChunk)
                {
                    break;
                }
            }

            var results = testModel.Test(testDataset.GetDataVectors().Select(v => v.FeatureVector).ToArray(), 0);
        }
        public void GetDataVectorsTest(string testFile, bool skipParseError, int expectedNumOfVectors, int expectedNumOfClasses)
        {
            var dataset = new UnclassifiedDataset(testFile, 64);

            if (dataset.SkipParsingErrors != skipParseError)
            {
                dataset.SkipParsingErrors = skipParseError;
            }

            IList<DataVector> vectors = dataset.GetDataVectors();

            Assert.That(vectors.Count, Is.EqualTo(expectedNumOfVectors));
            Assert.That(vectors.All(v => v.ClassId >= 0 && v.ClassId < expectedNumOfClasses && v.QueryId != string.Empty && v.FeatureVector.Count == 64 && v.DocumentId != string.Empty));
        }
        public void TrainModelAndTestModelTest(string trainFile, string testFile)
        {
            var trainModel = new TrainModel(2, 0.1);
            var trainDataset = new ClassifiedDataset(trainFile, 64, 2);
            trainModel.Train(trainDataset.GetClassifiedVectors());

            var testModel = new TestModel(2, 0.1);
            var testDataset = new UnclassifiedDataset(testFile, 64);
            var testData = testDataset.GetDataVectors().Select(v => v.FeatureVector).ToArray();
            var results = testModel.Test(trainModel.GetInferredPosterier(), testData);

            Assert.That(results.Length, Is.EqualTo(testData.Length));
        }