GenerateClass() public static method

public static GenerateClass ( int label, double x, double y, int count ) : IEnumerable
label int
x double
y double
count int
return IEnumerable
Exemplo n.º 1
0
        public static void Run()
        {
            Console.WriteLine("OneClassDemo");
            var trainData = DemoHelper.GenerateClass(0, 0.5, 0.5, 100);

            var parameters = new SvmParameter
            {
                SvmType     = SvmType.ONE_CLASS,
                KernelType  = KernelType.Rbf,
                Gamma       = 0.5,
                Nu          = 0.5,
                CacheSize   = 128,
                Eps         = 1e-3,
                Shrinking   = true,
                Probability = false
            };

            var problem = new SvmProblem
            {
                Y = trainData.Select(p => 1.0).ToArray(),
                X = trainData.Select(p => p.ToSvmNodes()).ToArray()
            };

            parameters.Check(problem);

            var model = Svm.Train(problem, parameters);

            var x    = new Point(0.9, 0.9).ToSvmNodes();
            var resx = model.Predict(x);

            Console.WriteLine(resx);

            var y    = new Point(0.5, 0.5).ToSvmNodes();
            var resy = model.Predict(y);

            Console.WriteLine(resy);

            var z    = new Point(0.45, 0.45).ToSvmNodes();
            var resz = model.Predict(z);

            Console.WriteLine(resz);
        }
Exemplo n.º 2
0
        public static void Run()
        {
            Console.WriteLine("CSVMDemo");
            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 parameters = new SvmParameter
            {
                SvmType     = SvmType.C_SVC,
                KernelType  = KernelType.Rbf,
                Gamma       = 0.5,
                CacheSize   = 128,
                C           = 1,
                Eps         = 1e-3,
                Shrinking   = true,
                Probability = false
            };

            var problem = new SvmProblem
            {
                Y = trainData.Select(p => (double)p.Label).ToArray(),
                X = trainData.Select(p => p.ToSvmNodes()).ToArray()
            };

            parameters.Check(problem);

            var model = Svm.Train(problem, parameters);

            var x    = new Point(0.9, 0.9).ToSvmNodes();
            var resx = model.Predict(x);

            Console.WriteLine(resx);

            var y    = new Point(0.1, 0.1).ToSvmNodes();
            var resy = model.Predict(y);

            Console.WriteLine(resy);
        }