public void Setup() { threeClassDataset = ArffDataSet.Create <PositivityType>("Test"); threeClassDataset.UseTotal = true; twoClassDataset = ArffDataSet.CreateSimple("Test"); twoClassDataset.UseTotal = true; twoClassDataset.Header.RegisterNominalClass("Positive", "Negative"); for (int i = 0; i < 20; i++) { var positive = threeClassDataset.AddDocument(); positive.Class.Value = PositivityType.Positive; positive.AddRecord("Good"); positive = twoClassDataset.AddDocument(); positive.Class.Value = "Positive"; positive.AddRecord("Good"); var negative = threeClassDataset.AddDocument(); negative.Class.Value = PositivityType.Negative; negative.AddRecord("Bad"); negative = twoClassDataset.AddDocument(); negative.Class.Value = "Negative"; negative.AddRecord("Bad"); } }
public void Setup() { dataSet = ArffDataSet.CreateSimple("Test"); dataSet.Header.RegisterNominalClass("One"); var problemFactory = new ProblemFactory(dataSet); factory = new ParametersSelectionFactory(Task.Factory, problemFactory); }
public void Construct() { Assert.Throws <ArgumentNullException>(() => TrainedTreeData.Construct(null)); var result = TrainedTreeData.Construct(ArffDataSet.CreateSimple("Test")); Assert.AreEqual(0, result.Children.Length); Assert.AreEqual(0, result.Count); Assert.AreEqual("Documents", result.Name); Assert.AreEqual("Documents (0)", result.Description); }
public void CreateNull() { TrainingHeader header = TrainingHeader.CreateDefault(); Assert.Throws <ArgumentNullException>(() => factory.Create(null, dataSet)); Assert.Throws <ArgumentNullException>(() => factory.Create(header, null)); header.GridSelection = false; var result = factory.Create(header, ArffDataSet.CreateSimple("Test")); Assert.IsInstanceOf <NullParameterSelection>(result); }
public void Construct() { var arff = ArffDataSet.CreateSimple("Test"); var header = TrainingHeader.CreateDefault(); var model = new Model(); Assert.Throws <ArgumentNullException>(() => new TrainingResults(null, header, arff)); Assert.Throws <ArgumentNullException>(() => new TrainingResults(model, null, arff)); Assert.Throws <ArgumentNullException>(() => new TrainingResults(model, header, null)); var instance = new TrainingResults(model, header, arff); Assert.IsNotNull(instance.Header); Assert.IsNotNull(instance.Model); }
public void Setup() { var dataSet = ArffDataSet.CreateSimple("Test"); var model = new Model(); model.NumberOfClasses = 2; model.ClassLabels = null; model.NumberOfSVPerClass = null; model.PairwiseProbabilityA = null; model.PairwiseProbabilityB = null; model.SupportVectorCoefficients = new double[1][]; model.Rho = new double[1]; model.Rho[0] = 0; model.Parameter = new Parameter(); instance = new TrainingResults(model, TrainingHeader.CreateDefault(), dataSet); }
public void ConstructFull() { var dataSet = ArffDataSet.CreateSimple("Test"); dataSet.Header.RegisterNominalClass("One", "Two"); var review = dataSet.AddDocument(); review.Class.Value = "One"; review = dataSet.AddDocument(); review.Class.Value = "One"; review = dataSet.AddDocument(); review.Class.Value = "Two"; var result = TrainedTreeData.Construct(dataSet); Assert.AreEqual(2, result.Children.Length); Assert.AreEqual(3, result.Count); Assert.AreEqual("Documents", result.Name); }
public IArffDataSet CreateDataset(DocumentSet documentSet, CancellationToken token) { Guard.NotNull(() => documentSet, documentSet); log.Debug("CreateDataset"); if (documentSet.Document == null || documentSet.Document.Length == 0) { log.Warn("No documents"); return(null); } var labels = (from item in documentSet.Document from label in item.Labels select label).Distinct().ToArray(); if (labels.Length == 0) { log.Warn("No labels found"); return(null); } var dataHolder = ArffDataSet.CreateSimple("subjectivity"); dataHolder.Header.RegisterNominalClass(labels); foreach (var definition in documentSet.Document.Where(item => item.Labels.Length > 0)) { token.ThrowIfCancellationRequested(); var label = definition.Labels.Last(); var review = dataHolder.AddDocument(); review.Class.Value = label; foreach (var record in definition.WordsTable) { review.AddRecord(record.Key).Value = record.Value; } } return(dataHolder); }
public void Setup() { training = new Mock <ITrainingModel>(); var scheduler = new ConcurrentExclusiveSchedulerPair(TaskScheduler.Default, 2) .ConcurrentScheduler; taskFactory = new TaskFactory(scheduler); parameters = new GridSearchParameters(5, new double[] { 1, 2, 3, 4 }, new double[] { 1, 2, 3, 4 }, new Parameter()); instance = new GridParameterSelection(taskFactory, training.Object, parameters); var dataSet = ArffDataSet.CreateSimple("Test"); dataSet.Header.RegisterNominalClass("One", "Two", "Three"); dataSet.UseTotal = true; var one = dataSet.AddDocument(); one.Class.Value = "One"; one.AddRecord("Good"); IProblemFactory factory = new ProblemFactory(dataSet); problem = factory.Construct(dataSet).GetProblem(); resetEvent = new ManualResetEvent(false); }
public async Task TestMultiClass() { var dataSet = ArffDataSet.CreateSimple("Test"); dataSet.Header.RegisterNominalClass("One", "Two", "Three"); dataSet.UseTotal = true; for (int i = 0; i < 20; i++) { var one = dataSet.AddDocument(); one.Class.Value = "One"; one.AddRecord("Good"); var two = dataSet.AddDocument(); two.Class.Value = "Two"; two.AddRecord("Bad"); var three = dataSet.AddDocument(); three.Class.Value = "Three"; three.AddRecord("Some"); } var problemFactory = new ProblemFactory(dataSet); SvmTraining training = new SvmTraining(problemFactory, dataSet); var parameters = training.SelectParameters(TrainingHeader.CreateDefault(), CancellationToken.None); var results = await training.Train(parameters).ConfigureAwait(false); var file = Path.Combine(TestContext.CurrentContext.TestDirectory, "data.arff"); dataSet.Save(file); results.Model.Write(Path.Combine(TestContext.CurrentContext.TestDirectory, "label.dat")); var testFile = ArffDataSet.LoadSimple(file); SvmTesting testing = new SvmTesting(results.Model, problemFactory); var result = testing.Test(testFile, Path.Combine(TestContext.CurrentContext.TestDirectory, ".")); Assert.AreEqual(1, result); }