public static void Run() { Console.WriteLine("NuSVMDemo"); var class1 = DemoHelper.GenerateClass(0, 0.1, 0.1, 50); var class2 = DemoHelper.GenerateClass(1, 0.8, 0.8, 50); var trainData = class1.Concat(class2); var trainer = SVM.Create(new NuSupportVectorClassification(0.1), new RbfKernel(0.5)); var model = trainer.Train(trainData.Select(p => Tuple.Create(p.ToArray(), p.Label))); var x = new Point(0.9, 0.9).ToArray(); var resx = model.Predict(x); Console.WriteLine(resx); var y = new Point(0.0, 0.0).ToArray(); var resy = model.Predict(y); Console.WriteLine(resy); }
public static void Run() { Console.WriteLine("EpsSVRDemo"); var rnd = new Random(); var trainData = DemoHelper.Range(-10.0, 10.01, 0.1).Select(val => new { X = val, Y = DemoHelper.Sinc(val) + (rnd.NextDouble() - 0.5) / 4 }); var trainer = SVM.Create(new EpsilonSupportVectorRegression(1.0, 0.1), new RbfKernel(0.5)); var model = trainer.Train(trainData.Select(p => Tuple.Create(p.X.ToArray(), p.Y))); foreach (var item in DemoHelper.Range(-1.0, 1.01, 0.1)) { var x = item.ToArray(); var yPred = model.Predict(x); var yReal = DemoHelper.Sinc(item); Console.WriteLine("x: {0}", item); Console.WriteLine("y_real: {0}", yReal); Console.WriteLine("y_pred: {0}", yPred); Console.WriteLine(); } }
public static void Run() { Console.WriteLine("OneClassDemo"); var trainData = DemoHelper.GenerateClass(0, 0.5, 0.5, 100); var trainer = SVM.Create(new OneClass(0.5), new RbfKernel(0.5)); var model = trainer.Train(trainData.Select(p => p.ToArray())); var x = new Point(0.9, 0.9).ToArray(); var resx = model.Predict(x); Console.WriteLine(resx); var y = new Point(0.5, 0.5).ToArray(); var resy = model.Predict(y); Console.WriteLine(resy); var z = new Point(0.45, 0.45).ToArray(); var resz = model.Predict(z); Console.WriteLine(resz); }