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)); }