public void Save_Model_Test_Json()
        {
            Tennis t = new Tennis
            {
                Humidity    = Humidity.Normal,
                Outlook     = Outlook.Overcast,
                Temperature = Temperature.Cool,
                Windy       = true
            };

            var model = (NeuralNetworkModel)BaseSupervised.Prediction <Tennis>(
                new NeuralNetworkGenerator(),
                Tennis.GetData(),
                t,
                p => p.Play
                );

            var file = GetPath();

            Register.Type <Tennis>();
            var model2 = SaveAndLoadJson(model);

            Assert.Equal(model.Descriptor, model2.Descriptor);
            AreEqual(model.Network, model2.Network);
        }
示例#2
0
        static void Main(string[] args)
        {
            Tennis[] data = Tennis.GetData();
            var      d    = Descriptor.Create <Tennis>();
            var      g    = new DecisionTreeGenerator(d);

            g.SetHint(false);
            var model = Learner.Learn(data, 0.8, 1000, g);

            Console.WriteLine(model);
            Console.ReadKey();
        }
        public void Tennis_Naive_Bayes_Save_And_Load_Test()
        {
            var data        = Tennis.GetData();
            var description = Descriptor.Create <Tennis>();
            var generator   = new NaiveBayesGenerator(2);
            var model       = generator.Generate(description, data);

            Serialize(model);


            var lmodel = Deserialize <NaiveBayesModel>();
        }
示例#4
0
        public void Tennis_Naive_Bayes_Save_And_Load_Test_Json()
        {
            var data        = Tennis.GetData();
            var description = Descriptor.Create <Tennis>();
            var generator   = new NaiveBayesGenerator(2);
            var model       = generator.Generate(description, data) as NaiveBayesModel;

            var file = GetPath();

            Register.Type <Tennis>();
            var lmodel = SaveAndLoadJson(model);

            Assert.Equal(model.Root, lmodel.Root);
        }
示例#5
0
        public void TennisPrediction(IGenerator generator)
        {
            Tennis t = new Tennis
            {
                Humidity    = Humidity.Normal,
                Outlook     = Outlook.Overcast,
                Temperature = Temperature.Cool,
                Windy       = true
            };

            Prediction <Tennis>(
                generator,              // generator
                Tennis.GetData(),       // training data
                t,                      // test object
                p => p.Play             // should be true
                );
        }
示例#6
0
        public void Tennis_DT_and_Prediction()
        {
            var data        = Tennis.GetData();
            var description = Descriptor.Create <Tennis>();
            var generator   = new DecisionTreeGenerator(50);
            var model       = generator.Generate(description, data);

            Tennis t = new Tennis
            {
                Humidity    = Humidity.Normal,
                Outlook     = Outlook.Overcast,
                Temperature = Temperature.Cool,
                Windy       = true
            };

            model.Predict <Tennis>(t);
            Assert.IsTrue(t.Play);
        }
示例#7
0
        public void Main_Naive_Bayes_Test()
        {
            var data        = Tennis.GetData();
            var description = Descriptor.Create <Tennis>();
            var generator   = new NaiveBayesGenerator(2);
            var model       = generator.Generate(description, data);

            Tennis t = new Tennis
            {
                Humidity    = Humidity.Normal,
                Outlook     = Outlook.Overcast,
                Temperature = Temperature.Cool,
                Windy       = true
            };

            model.Predict <Tennis>(t);
            Assert.IsTrue(t.Play);
        }
        public void Save_Node_Test()
        {
            Tennis t = new Tennis
            {
                Humidity    = Humidity.Normal,
                Outlook     = Outlook.Overcast,
                Temperature = Temperature.Cool,
                Windy       = true
            };

            var model = (NeuralNetworkModel)BaseSupervised.Prediction <Tennis>(
                new NeuralNetworkGenerator(),
                Tennis.GetData(),
                t,
                p => p.Play
                );

            var node = model.Network.In[0].Out[0].Target;

            Serialize(node);
        }
        public void Save_Network_Test()
        {
            Tennis t = new Tennis
            {
                Humidity    = Humidity.Normal,
                Outlook     = Outlook.Overcast,
                Temperature = Temperature.Cool,
                Windy       = true
            };

            var model = (NeuralNetworkModel)BaseSupervised.Prediction <Tennis>(
                new NeuralNetworkGenerator(),
                Tennis.GetData(),
                t,
                p => p.Play
                );

            var file    = GetPath();
            var network = SaveAndLoad(model.Network, file);

            AreEqual(model.Network, network);
        }
        public void Save_Model_Test()
        {
            Tennis t = new Tennis
            {
                Humidity    = Humidity.Normal,
                Outlook     = Outlook.Overcast,
                Temperature = Temperature.Cool,
                Windy       = true
            };

            var model = (NeuralNetworkModel)BaseSupervised.Prediction <Tennis>(
                new NeuralNetworkGenerator(),
                Tennis.GetData(),
                t,
                p => p.Play
                );

            Serialize(model);
            var model2 = Deserialize <NeuralNetworkModel>();

            Assert.Equal(model.Descriptor, model2.Descriptor);
            AreEqual(model.Network, model2.Network);
        }