Example #1
0
    public static void Main()
    {
        modshogun.init_shogun_with_defaults();

        double[,] traindata_real = Load.load_numbers("../data/fm_train_real.dat");
        double[,] testdata_real  = Load.load_numbers("../data/fm_test_real.dat");

        double[] trainlab = Load.load_labels("../data/label_train_multiclass.dat");

        RealFeatures feats_train = new RealFeatures();

        feats_train.set_feature_matrix(traindata_real);
        RealFeatures feats_test = new RealFeatures();

        feats_test.set_feature_matrix(testdata_real);
        MulticlassLabels labels = new MulticlassLabels(trainlab);

        GaussianNaiveBayes gnb = new GaussianNaiveBayes(feats_train, labels);

        gnb.train();
        double[] out_labels = MulticlassLabels.obtain_from_generic(gnb.apply(feats_test)).get_labels();

        foreach (double item in out_labels)
        {
            Console.Write(item);
        }

        modshogun.exit_shogun();
    }
    public static void Main()
    {
        modshogun.init_shogun_with_defaults();

        double[,] traindata_real = Load.load_numbers("../data/fm_train_real.dat");
        double[,] testdata_real = Load.load_numbers("../data/fm_test_real.dat");

        double[] trainlab = Load.load_labels("../data/label_train_multiclass.dat");

        RealFeatures feats_train = new RealFeatures();
        feats_train.set_feature_matrix(traindata_real);
        RealFeatures feats_test = new RealFeatures();
        feats_test.set_feature_matrix(testdata_real);
        Labels labels = new Labels(trainlab);

        GaussianNaiveBayes gnb = new GaussianNaiveBayes(feats_train, labels);
        gnb.train();
        double[] out_labels = gnb.apply(feats_test).get_labels();

        foreach(double item in out_labels) {
            Console.Write(item);
        }

        modshogun.exit_shogun();
    }
Example #3
0
        static void Main(string[] args)
        {
            FarOutGenerator generator = new FarOutGenerator();

            generator.Generate("FarOutData.json");

            var data = JsonConvert.DeserializeObject <double[][]>(File.ReadAllText("FarOutData.json"));

            // split data
            int takeAmount      = ( int )Math.Floor(data.Length * 0.9);
            var training        = data.Take(takeAmount);
            var trainingData    = training.Select(dataPoint => dataPoint.Take(dataPoint.Length - 1).ToArray()).ToArray();
            var trainingClasses = training.Select(dataPoint => dataPoint.Last()).ToArray();

            var testing        = data.Skip(takeAmount);
            var testingData    = testing.Select(dataPoint => dataPoint.Take(dataPoint.Length - 1).ToArray()).ToArray();
            var testingClasses = testing.Select(dataPoint => dataPoint.Last()).ToArray();

            GaussianNaiveBayes model = new GaussianNaiveBayes();

            model.Fit(trainingData, trainingClasses);
            var predictions = model.Predict(testingData);

            var results = predictions.Select((prediction, index) => testingData[index].Concat(new double[] { testingClasses[index], prediction }).ToArray()).ToArray();

            var accuracy = results.Count(result => result[2] == result[3]) * 100.0 / results.Length;

            File.WriteAllText("FarOutData-Results.json", JsonConvert.SerializeObject(results));
        }
        public void When_Calculate_Gaussian_Naive_Bayes_Distribution_Number()
        {
            double[][] inputs =
            {
                new double [] { 0, 1 },
                new double [] { 0, 2 },
                new double [] { 0, 1 },
                new double [] { 1, 2 },
                new double [] { 0, 2 },
                new double [] { 0, 2 },
                new double [] { 1, 1 },
                new double [] { 0, 1 },
                new double [] { 1, 1 }
            };
            double[][] predict =
            {
                new double[] { 0, 1 }
            };
            double[] outputs = // those are the class labels
            {
                0, 0, 0, 1, 1, 1, 2, 2, 2,
            };
            var bayes = new GaussianNaiveBayes();

            bayes.Estimate(inputs, outputs);
            var result     = bayes.PredictProbability(predict);
            var prediction = bayes.Predict(predict);
            var firstRow   = result.GetRowVector(0);

            Assert.Equal(0.68, System.Math.Round(firstRow.Values[0].GetNumber(), 2));
            Assert.Equal(0, firstRow.Values[1].GetNumber());
            Assert.Equal(0.32, System.Math.Round(firstRow.Values[2].GetNumber(), 2));
            Assert.Equal(1, prediction.Length);
            Assert.Equal(0, prediction.Values[0].GetNumber());
        }
Example #5
0
        public IActionResult GetGaussianNaiveBayesResult([FromBody] GetGaussianNaiveBayesRequest request)
        {
            var bayes = new GaussianNaiveBayes();

            bayes.Estimate(request.Inputs, request.Outputs);
            var result     = bayes.PredictProbability(request.Predict);
            var prediction = bayes.Predict(request.Predict);

            return(new OkObjectResult(new GaussianNaiveBayesResult
            {
                Classes = prediction.GetNumbers(),
                Probabilities = result.DoubleValues
            }));
        }
    static void Main(string[] argv)
    {
        modshogun.init_shogun_with_defaults();

        DoubleMatrix traindata_real = Load.load_numbers("../data/fm_train_real.dat");
        DoubleMatrix testdata_real = Load.load_numbers("../data/fm_test_real.dat");

        DoubleMatrix trainlab = Load.load_labels("../data/label_train_multiclass.dat");

        RealFeatures feats_train = new RealFeatures();
        feats_train.set_feature_matrix(traindata_real);
        RealFeatures feats_test = new RealFeatures();
        feats_test.set_feature_matrix(testdata_real);
        Labels labels = new Labels(trainlab);

        GaussianNaiveBayes gnb = new GaussianNaiveBayes(feats_train, labels);
        gnb.train();
        DoubleMatrix out_labels = gnb.apply(feats_test).get_labels();
        Console.WriteLine(out_labels.ToString());

        modshogun.exit_shogun();
    }
Example #7
0
 internal static HandleRef getCPtr(GaussianNaiveBayes obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }
Example #8
0
 internal static HandleRef getCPtr(GaussianNaiveBayes obj) {
   return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
 }