Ejemplo n.º 1
0
        public void ArbitraryPrediction_Test_With_Named_Iterator()
        {
            var data = ArbitraryPrediction.GetDataUsingNamedIterator();
            var description = Descriptor.Create<ArbitraryPrediction>();
            var generator = new DecisionTreeGenerator(50);
            var model = generator.Generate(description, data);

            ArbitraryPrediction minimumPredictionValue = new ArbitraryPrediction
            {
                FirstTestFeature = 1.0m,
                SecondTestFeature = 10.0m,
                ThirdTestFeature = 1.2m
            };

            ArbitraryPrediction maximumPredictionValue = new ArbitraryPrediction
            {
                FirstTestFeature = 1.0m,
                SecondTestFeature = 57.0m,
                ThirdTestFeature = 1.2m
            };

            var expectedMinimum = model.Predict<ArbitraryPrediction>(minimumPredictionValue).OutcomeLabel;
            var expectedMaximum = model.Predict<ArbitraryPrediction>(maximumPredictionValue).OutcomeLabel;

            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Minimum, expectedMinimum);
            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Maximum, expectedMaximum);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            var descriptor = Descriptor.For <Tennis>()
                             .With(t => t.Outlook)
                             .With(t => t.Temperature)
                             .With(t => t.Windy)
                             .With(t => t.Humidity)
                             .Learn(t => t.Play);

            Console.WriteLine(descriptor);

            var generator = new DecisionTreeGenerator(descriptor);
            var model     = generator.Generate(Tennis.GetData());

            Console.WriteLine($"Model:\n{model}");

            var tn = new Tennis {
                Outlook     = Outlook.Sunny,
                Temperature = Temperature.Cool,
                Humidity    = Humidity.High,
                Windy       = true
            };

            var tennis = model.PredictValue(tn);

            Console.WriteLine($"Play? {tennis}");

            Console.ReadKey();
        }
Ejemplo n.º 3
0
        public void Decision_Tree_Study_Category_Test()
        {
            var categoryA = Guid.NewGuid();
            var categoryB = Guid.NewGuid();

            var data = new[] {
                new { Study = 2.0, Category = categoryA, Passed = false },
                new { Study = 3.0, Category = categoryA, Passed = false },
                new { Study = 1.0, Category = categoryB, Passed = false },
                new { Study = 4.0, Category = categoryA, Passed = false },
                new { Study = 6.0, Category = categoryA, Passed = true },
                new { Study = 8.0, Category = categoryB, Passed = true },
                new { Study = 12.0, Category = categoryA, Passed = true },
                new { Study = 3.0, Category = categoryB, Passed = true }
            };

            var descriptor = Descriptor.New("Student")
                             .With("Study").As(typeof(double))
                             .With("Category").AsGuid()
                             .Learn("Passed").As(typeof(bool));

            DecisionTreeGenerator generator = new DecisionTreeGenerator()
            {
                Descriptor        = descriptor,
                NormalizeFeatures = true
            };

            var model = Learner.Learn(data, 0.8, 10, generator).Model;

            var test = model.PredictValue(new { Study = 7.0, Category = categoryA, Passed = false });

            Assert.Equal(true, test);
        }
Ejemplo n.º 4
0
        public void ArbitraryPrediction_Test_With_Enum_Label()
        {
            var data        = ArbitraryPrediction.GetData();
            var description = Descriptor.Create <ArbitraryPrediction>();
            var generator   = new DecisionTreeGenerator(50);
            var model       = generator.Generate(description, data);

            ArbitraryPrediction minimumPredictionValue = new ArbitraryPrediction
            {
                FirstTestFeature  = 1.0m,
                SecondTestFeature = 10.0m,
                ThirdTestFeature  = 1.2m
            };

            ArbitraryPrediction maximumPredictionValue = new ArbitraryPrediction
            {
                FirstTestFeature  = 1.0m,
                SecondTestFeature = 55.0m,
                ThirdTestFeature  = 1.2m
            };

            var expectedMinimum = model.Predict <ArbitraryPrediction>(minimumPredictionValue).OutcomeLabel;
            var expectedMaximum = model.Predict <ArbitraryPrediction>(maximumPredictionValue).OutcomeLabel;

            //The value should be minimum, however, maximum is returned
            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Minimum, expectedMinimum);
            //Maximum is returned as expected
            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Maximum, expectedMaximum);
        }
Ejemplo n.º 5
0
        public void ArbitraryPrediction_Test_With_Enum_Label()
        {
            var data = ArbitraryPrediction.GetData();
            var description = Descriptor.Create<ArbitraryPrediction>();
            var generator = new DecisionTreeGenerator(50);
            var model = generator.Generate(description, data);

            ArbitraryPrediction minimumPredictionValue = new ArbitraryPrediction
            {
                FirstTestFeature = 1.0m,
                SecondTestFeature = 10.0m,
                ThirdTestFeature = 1.2m
            };

            ArbitraryPrediction maximumPredictionValue = new ArbitraryPrediction
            {
                FirstTestFeature = 1.0m,
                SecondTestFeature = 55.0m,
                ThirdTestFeature = 1.2m
            };

            var expectedMinimum = model.Predict<ArbitraryPrediction>(minimumPredictionValue).OutcomeLabel;
            var expectedMaximum = model.Predict<ArbitraryPrediction>(maximumPredictionValue).OutcomeLabel;

            //The value should be minimum, however, maximum is returned
            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Minimum, expectedMinimum);
            //Maximum is returned as expected
            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Maximum, expectedMaximum);
        }
        public void ArbitraryPrediction_Test_With_Named_Iterator()
        {
            var data        = ArbitraryPrediction.GetDataUsingNamedIterator();
            var description = Descriptor.Create <ArbitraryPrediction>();
            var generator   = new DecisionTreeGenerator(50);
            var model       = generator.Generate(description, data);

            ArbitraryPrediction minimumPredictionValue = new ArbitraryPrediction
            {
                FirstTestFeature  = 1.0m,
                SecondTestFeature = 10.0m,
                ThirdTestFeature  = 1.2m
            };

            ArbitraryPrediction maximumPredictionValue = new ArbitraryPrediction
            {
                FirstTestFeature  = 1.0m,
                SecondTestFeature = 57.0m,
                ThirdTestFeature  = 1.2m
            };

            var expectedMinimum = model.Predict <ArbitraryPrediction>(minimumPredictionValue).OutcomeLabel;
            var expectedMaximum = model.Predict <ArbitraryPrediction>(maximumPredictionValue).OutcomeLabel;

            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Minimum, expectedMinimum);
            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Maximum, expectedMaximum);
        }
Ejemplo n.º 7
0
        public void Train(IEnumerable <Game> games)
        {
            _description = Descriptor.Create <Record>();
            var generator = new DecisionTreeGenerator();
            var data      = games.Select(z => new Record(z));

            _model = generator.Generate(_description, data);
        }
Ejemplo n.º 8
0
        public static void Main(string[] args)
        {
            // Step 1: Data
            Console.WriteLine("Step 1: Data");
            Tennis[] tennis     = Tennis.GetData();
            var      descriptor = Descriptor.Create <Tennis>();

            // Step 2: Maths
            Console.WriteLine("\nStep 2: Maths");
            var data = descriptor.ToExamples(tennis);
            var x    = data.Item1;
            var y    = data.Item2;

            Console.WriteLine($"Mathematical feature representation:{x}");
            Console.WriteLine($"\nMathematical label representation:{y.T}");

            // Step 3: Generate Model
            Console.WriteLine("\nStep 3: Generate Model");
            var generator = new DecisionTreeGenerator();
            var model     = generator.Generate <Tennis>(descriptor, tennis);

            Console.WriteLine(model);

            // Step 4: Prediction
            Console.WriteLine("\nStep 4: Prediction");
            Tennis t = new Tennis
            {
                Outlook     = Outlook.Sunny,
                Temperature = Temperature.Hot,
                Windy       = false
            };
            Tennis p = model.Predict(t);

            Console.WriteLine($"Play: {p.Play}");


            // Step 5: Testing Accuracy
            Console.WriteLine("\nStep 5: Testing Accuracy");
            ((DecisionTreeGenerator)generator).SetHint(0);

            var    learned  = Learner.Learn(tennis, 0.80, 100, generator);
            var    m        = learned.Model;
            double accuracy = learned.Accuracy;

            Console.WriteLine($"Learned {m.GetType().Name} model with {accuracy*100}% accuracy");
            Console.WriteLine(m);

            Tennis h = new Tennis
            {
                Outlook     = Outlook.Sunny,
                Temperature = Temperature.Hot,
                Windy       = false
            };

            Tennis o = m.Predict(h);

            Console.WriteLine($"Play: {o.Play}");
        }
        async Task GenericTree()
        {
            var data = BombDecisionTree.GetData();
            var d    = Descriptor.Create <BombDecisionTree>();
            var g    = new DecisionTreeGenerator(d);

            g.SetHint(false);
            _model = Learner.Learn(data, 0.80, 10000, g);
        }
Ejemplo n.º 10
0
        public void Save_And_Load_Iris_DT()
        {
            var data = Iris.Load();
            var description = Descriptor.Create<Iris>();
            var generator = new DecisionTreeGenerator(50);
            var model = generator.Generate(description, data) as DecisionTreeModel;

            Serialize(model);
            var lmodel = Deserialize<DecisionTreeModel>();
            Assert.AreEqual(model.Hint, lmodel.Hint);
            AreEqual(model.Tree, lmodel.Tree, false);
        }
Ejemplo n.º 11
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();
        }
Ejemplo n.º 12
0
        public double LearnFromData(int iterations)
        {
            var d = Descriptor.Create <ScreenData>();
            var g = new DecisionTreeGenerator(d);

            g.SetHint(false);

            var mdl = Learner.Learn(data, 0.80, iterations, g);

            model = (DecisionTreeModel)mdl.Model;
            return(mdl.Accuracy);
        }
Ejemplo n.º 13
0
        static void NumlTest()
        {
            Console.WriteLine("Hello World!");
            var description = Descriptor.Create <Iris>();

            Console.WriteLine(description);
            var generator = new DecisionTreeGenerator();
            var data      = Iris.Load();
            var model     = generator.Generate(description, data);

            Console.WriteLine("Generated model:");
            Console.WriteLine(model);
        }
Ejemplo n.º 14
0
        public void Save_And_Load_Iris_DT()
        {
            var data        = Iris.Load();
            var description = Descriptor.Create <Iris>();
            var generator   = new DecisionTreeGenerator(50);
            var model       = generator.Generate(description, data) as DecisionTreeModel;

            Serialize(model);
            var lmodel = Deserialize <DecisionTreeModel>();

            Assert.AreEqual(model.Hint, lmodel.Hint);
            AreEqual(model.Tree, lmodel.Tree, false);
        }
Ejemplo n.º 15
0
        public void Save_And_Load_HouseDT()
        {
            var data = House.GetData();

            var description = Descriptor.Create<House>();
            var generator = new DecisionTreeGenerator { Depth = 50 };
            var model = generator.Generate(description, data) as DecisionTreeModel;

            Serialize(model);

            var lmodel = Deserialize<DecisionTreeModel>();
            Assert.AreEqual(model.Hint, lmodel.Hint);
            AreEqual(model.Tree, lmodel.Tree, false);
        }
        public override void CreateClassifier()
        {
            // this.Normalizator = new Normalizator.Normalizator(this.Stats);
            // this.Stats = this.Normalizator.Normalize(this.Stats);
            var testSet           = this.Stats;
            var descriptor        = Descriptor.Create <FeatureVector>();
            var decisionTreeModel = new DecisionTreeGenerator(descriptor.VectorLength, 2, descriptor, null, 0.0);

            // decisionTreeModel.SetHint(false);
            decisionTreeModel.Generate((IEnumerable <object>)testSet);
            var learnDecisionTree = Learner.Learn(testSet, 0.90, 100, decisionTreeModel);

            this.ClassifierModel = learnDecisionTree.Model;
        }
Ejemplo n.º 17
0
        private void Basla(string AnaIlanSayfasi, int okunacakIlanSayisi, int offset)
        {
            try
            {
                int  sayfaSayisi = okunacakIlanSayisi / 50;
                bool bit         = false;
                int  i           = 0;
                int  eskiOffset;
                while (!bit && i < sayfaSayisi)
                {
                    eskiOffset = offset;
                    List <string> linkler = IlanlariAl(AnaIlanSayfasi.Replace("pagingOffset=" + eskiOffset, "pagingOffset=" + offset).ToString());
                    offset += 50;;
                    for (int j = 0; j < linkler.Count; j++)
                    {
                        lblSite.Text = linkler[j];
                        Application.DoEvents();
                        OtomobilEkle(linkler[j]);
                        Thread.Sleep(500);
                        if (Otomobiller.Count >= okunacakIlanSayisi)
                        {
                            bit = true;
                        }
                    }
                    i++;
                }


                if (cbSerialize.Checked && Otomobiller.Count > 1)
                {
                    SerializeEt();
                    lblSite.Text = "Serialize edildi";
                }

                var d = Descriptor.Create <Otomobil>();
                var g = new DecisionTreeGenerator(d);
                g.SetHint(true);
                var model = Learner.Learn(Otomobiller, 0.80, 1000, g);

                lblSite.ForeColor = Color.Green;
                lblSite.Text      = Otomobiller.Count + " adet otomobil için Model çıkarıldı.";
            }
            catch (Exception e)
            {
                lblSite.ForeColor = Color.Red;
                lblSite.Text      = "Veriler alınamadı!";
            }
        }
Ejemplo n.º 18
0
        public void Save_And_Load_Iris_DT_Json()
        {
            var data        = Iris.Load();
            var description = Descriptor.Create <Iris>();
            var generator   = new DecisionTreeGenerator(50);
            var model       = generator.Generate(description, data) as DecisionTreeModel;

            var file = GetPath();

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

            Assert.Equal(model.Descriptor, lmodel.Descriptor);
            Assert.Equal(model.Hint, lmodel.Hint);
            Assert.Equal(model.Tree, lmodel.Tree);
        }
        public void Save_And_Load_HouseDT()
        {
            var data = House.GetData();

            var description = Descriptor.Create <House>();
            var generator   = new DecisionTreeGenerator {
                Depth = 50
            };
            var model = generator.Generate(description, data) as DecisionTreeModel;

            Serialize(model);
            var lmodel = Deserialize <DecisionTreeModel>();

            Assert.Equal(model.Descriptor, lmodel.Descriptor);
            Assert.Equal(model.Hint, lmodel.Hint);
            Assert.Equal(model.Tree, lmodel.Tree);
        }
Ejemplo n.º 20
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);
        }
Ejemplo n.º 21
0
        public void ArbitraryPrediction_Test_With_Feature_Value_Greater_Than_Trained_Instances()
        {
            var data = ArbitraryPrediction.GetData();
            var description = Descriptor.Create<ArbitraryPrediction>();
            var generator = new DecisionTreeGenerator(50);
            var model = generator.Generate(description, data);

            ArbitraryPrediction predictionValue = new ArbitraryPrediction
            {
                FirstTestFeature = 1.0m,
                //This value is greater than any of the trained instances
                SecondTestFeature = 106.0m,
                ThirdTestFeature = 1.2m
            };

            var expectedValue = model.Predict<ArbitraryPrediction>(predictionValue).OutcomeLabel;
            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Maximum, expectedValue);
        }
Ejemplo n.º 22
0
        public void ValueObject_Test_With_Yield_Enumerator()
        {
            var data      = ValueObject.GetData();
            var generator = new DecisionTreeGenerator()
            {
                Descriptor = Descriptor.Create <ValueObject>()
            };

            var model = generator.Generate(data);
            var s     = model.ToString();

            var o = new ValueObject()
            {
                V1 = 1, V2 = 60
            };
            var os = model.Predict <ValueObject>(o).R;

            Assert.AreEqual("l".Sanitize(), os);
        }
Ejemplo n.º 23
0
        public void Iris_DT_and_Prediction()
        {
            var data        = Iris.Load();
            var description = Descriptor.Create <Iris>();
            var generator   = new DecisionTreeGenerator(50);
            var model       = generator.Generate(description, data);

            // should be Iris-Setosa
            Iris iris = new Iris
            {
                PetalWidth  = 0.5m,
                PetalLength = 2.3m,
                SepalLength = 2.1m,
                SepalWidth  = 2.1m
            };

            iris = model.Predict <Iris>(iris);
            Assert.AreEqual("Iris-setosa".Sanitize(), iris.Class);
        }
Ejemplo n.º 24
0
        public void ArbitraryPrediction_Test_With_Feature_Value_Greater_Than_Trained_Instances()
        {
            var data        = ArbitraryPrediction.GetData();
            var description = Descriptor.Create <ArbitraryPrediction>();
            var generator   = new DecisionTreeGenerator(50);
            var model       = generator.Generate(description, data);

            ArbitraryPrediction predictionValue = new ArbitraryPrediction
            {
                FirstTestFeature = 1.0m,
                //This value is greater than any of the trained instances
                SecondTestFeature = 106.0m,
                ThirdTestFeature  = 1.2m
            };

            var expectedValue = model.Predict <ArbitraryPrediction>(predictionValue).OutcomeLabel;

            Assert.AreEqual(ArbitraryPrediction.PredictionLabel.Maximum, expectedValue);
        }
Ejemplo n.º 25
0
        public void Save_And_Load_HouseDT_Json()
        {
            var data = House.GetData();

            var description = Descriptor.Create <House>();
            var generator   = new DecisionTreeGenerator {
                Depth = 50
            };
            var model = generator.Generate(description, data) as DecisionTreeModel;

            var file = GetPath();

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

            Assert.Equal(model.Descriptor, lmodel.Descriptor);
            Assert.Equal(model.Hint, lmodel.Hint);
            Assert.Equal(model.Tree, lmodel.Tree);
        }
Ejemplo n.º 26
0
        public void House_DT_and_Prediction()
        {
            var data = House.GetData();

            var description = Descriptor.Create <House>();
            var generator   = new DecisionTreeGenerator {
                Depth = 50
            };
            var model = generator.Generate(description, data);

            House h = new House
            {
                District         = District.Rural,
                HouseType        = HouseType.Detached,
                Income           = Income.High,
                PreviousCustomer = false
            };

            var prediction = model.Predict(h);

            Assert.IsTrue(prediction.Response);
        }
Ejemplo n.º 27
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Iris Machine Learning Example");

            // our data
            var data = Iris.Load();

            // descriptor
            var description = Descriptor.Create <Iris>();

            Console.WriteLine(description);

            // generator makes model
            var generator = new DecisionTreeGenerator();
            var model     = generator.Generate(description, data);

            Console.WriteLine("Generated model:");
            Console.WriteLine(model);

            // use model
            // model.Predict(...)
        }
Ejemplo n.º 28
0
        public static void Go()
        {
            // Start with our data
            Tennis[] data = SampleData.GetTennisData();

            // Create the corresponding descriptor
            var descriptor = Descriptor.Create <Tennis>();

            // Choose our generator
            var generator = new DecisionTreeGenerator(descriptor);

            generator.SetHint(false);

            Console.WriteLine($"Using the {generator.GetType().Name}\n");

            // Create the model by learning from the data using the generator
            LearningModel learningModel = Learner.Learn(data, 0.80, 1000, generator);

            Console.WriteLine(learningModel);

            // Now we could predict using the learning info's Model.
            var toPredict = new Tennis()
            {
                Outlook     = Outlook.Rainy,
                Temperature = Temperature.Low,
                Windy       = true,
                // Play = ? - This is what we will predict
            };

            var prediction = learningModel.Model.Predict(toPredict);

            // And we're spent...
            Console.WriteLine($"ToPredict: {toPredict}");
            Console.WriteLine($"Prediction: Play = {prediction.Play}\n");

            Console.WriteLine("Press any key...\n");
            Console.ReadKey();
        }
Ejemplo n.º 29
0
        /// <summary>
        /// Do the <c>SimpleNumlWorkflow</c> using a <c>DecisionTree</c> generator/model.
        /// </summary>
        /// <param name="simpleData">If true, uses a preset small sample data set; else generates a larger, pseudo-random one.</param>
        /// <param name="depth"></param>
        /// <param name="width"></param>
        static void DoSimple_DecisionTree(bool simpleData = true, int depth = 5,
                                          int width       = 2)
        {
            SimpleNumlWorkflowImpl(
                getData: () => SampleData.GetTennisData(simpleData),

                getDescriptor: () => Descriptor.Create <Tennis>(),

                getGenerator: (descriptor) =>
            {
                var generator = new DecisionTreeGenerator(descriptor)
                {
                    Depth = depth,
                    Width = width
                };
                generator.SetHint(false);
                return(generator);
            },

                getToPredict: () =>
            {
                return(new Tennis()
                {
                    Outlook = Outlook.Rainy,
                    Temperature = Temperature.Low,
                    Windy = true
                });
            },

                getPredictionDesc: (t) => "Play: " + t.Play,

                trainingPercentage: 0.8d,

                repeat: 1000
                );
        }
Ejemplo n.º 30
0
        public void Iris_DT_and_Prediction_with_Learner()
        {
            var data = Iris.Load();

            var generator = new DecisionTreeGenerator(50)
            {
                Descriptor = Descriptor.Create <Iris>(),
                Hint       = 0
            };

            var lmodel = Learner.Learn(data, .80, 1000, generator);

            // should be Iris-Setosa
            Iris iris = new Iris
            {
                PetalWidth  = 0.5m,
                PetalLength = 2.3m,
                SepalLength = 2.1m,
                SepalWidth  = 2.1m
            };

            iris = lmodel.Model.Predict <Iris>(iris);
            Assert.AreEqual("Iris-setosa".Sanitize(), iris.Class);
        }
Ejemplo n.º 31
0
        public void ValueObject_Test_With_Yield_Enumerator()
        {
            var data = ValueObject.GetData();
            var generator = new DecisionTreeGenerator()
            {
                Descriptor = Descriptor.Create<ValueObject>()
            };

            var model = generator.Generate(data);
            var s = model.ToString();

            var o = new ValueObject() { V1 = 1, V2 = 60 };
            var os = model.Predict<ValueObject>(o).R;
            Assert.AreEqual("l".Sanitize(), os);
        }
Ejemplo n.º 32
0
        public void Iris_DT_and_Prediction_with_Learner()
        {
            var data = Iris.Load();

            var generator = new DecisionTreeGenerator(50)
            {
                Descriptor = Descriptor.Create<Iris>(),
                Hint = 0
            };

            var lmodel = Learner.Learn(data, .80, 1000, generator);

            // should be Iris-Setosa
            Iris iris = new Iris
            {
                PetalWidth = 0.5m,
                PetalLength = 2.3m,
                SepalLength = 2.1m,
                SepalWidth = 2.1m
            };

            iris = lmodel.Model.Predict<Iris>(iris);
            Assert.AreEqual("Iris-setosa".Sanitize(), iris.Class);
        }
Ejemplo n.º 33
0
        private void btnOgren_Click(object sender, EventArgs e)
        {
            try
            {
                GuvenlikOzellikleri go = GuvenlikOzellikleri.YOK;
                IcDonanim           id = IcDonanim.YOK;

                if (cbAbs.Checked)
                {
                    go = go | GuvenlikOzellikleri.Seviye1;
                }
                else if (cbAsr.Checked)
                {
                    go = go | GuvenlikOzellikleri.Seviye2;
                }
                else if (cbEsp.Checked)
                {
                    go = go | GuvenlikOzellikleri.Seviye3;
                }
                else if (cbKumasKoltuk.Checked)
                {
                    id = id | IcDonanim.Seviye1;
                }
                else if (cbKlima.Checked)
                {
                    id = id | IcDonanim.Seviye2;
                }
                else if (cbDeriKoltuk.Checked)
                {
                    id = id | IcDonanim.Seviye3;
                }
                else if (cbYolBilgsayarı.Checked)
                {
                    id = id | IcDonanim.Seviye4;
                }

                Otomobiller.Add(new Otomobil(int.Parse(txtFiyat.Text), int.Parse(txtYıl.Text), int.Parse(txtKm.Text), cbOtomatik.Checked ? Vites.Otomatik : Vites.Manuel, cbDizel.Checked ? Yakit.Dizel : Yakit.Benzin, int.Parse(txtMotorHacmi.Text), int.Parse(txtMotorGucu.Text), cbGaranti.Checked, cbTakas.Checked, cbSıfır.Checked ? Durum.Sıfır : Durum.IkinciEl, go, id, int.Parse(txtBoyalıSayısı.Text), int.Parse(txtDegisenSayısı.Text), cbAlınır.Checked));

                if (Otomobiller.Count < 2)
                {
                    MessageBox.Show("Öğrenme Yapılabilmesi için en az 2 kayıt olması gerek");
                    lblDurum.ForeColor = Color.Green;
                    lblDurum.Text      = "Kayıt eklendi.";
                    return;
                }
                var d = Descriptor.Create <Otomobil>();
                var g = new DecisionTreeGenerator(d);
                g.SetHint(true);
                Model = Learner.Learn(Otomobiller, 0.80, 1000, g);

                lblDurum.ForeColor = Color.Green;
                lblDurum.Text      = "Öğrenme Yapıldı : Doğruluk:" + Model.Accuracy;
                btnOgren.Enabled   = false;
                linkLabel1.Visible = true;
            }
            catch (Exception)
            {
                lblDurum.ForeColor = Color.DarkRed;
                lblDurum.Text      = "Otomobil eklenemedi.";
                linkLabel1.Visible = false;
            }
        }
Ejemplo n.º 34
0
        public void House_DT_and_Prediction()
        {
            var data = House.GetData();

            var description = Descriptor.Create<House>();
            var generator = new DecisionTreeGenerator { Depth = 50 };
            var model = generator.Generate(description, data);

            House h = new House
            {
                District = District.Rural,
                HouseType = HouseType.Detached,
                Income = Income.High,
                PreviousCustomer = false
            };

            var prediction = model.Predict(h);
            Assert.IsTrue(prediction.Response);
        }
Ejemplo n.º 35
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);
        }
Ejemplo n.º 36
0
        public void Iris_DT_and_Prediction()
        {
            var data = Iris.Load();
            var description = Descriptor.Create<Iris>();
            var generator = new DecisionTreeGenerator(50);
            var model = generator.Generate(description, data);

            // should be Iris-Setosa
            Iris iris = new Iris
            {
                PetalWidth = 0.5m,
                PetalLength = 2.3m,
                SepalLength = 2.1m,
                SepalWidth = 2.1m
            };

            iris = model.Predict<Iris>(iris);
            Assert.AreEqual("Iris-setosa".Sanitize(), iris.Class);
        }