Пример #1
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();
        }
Пример #2
0
 public static Tennis[] GetData()
 {
     return(new Tennis[]
     {
         Tennis.Make(Outlook.Sunny, Temperature.Hot, Humidity.High, false, false),
         Tennis.Make(Outlook.Sunny, Temperature.Hot, Humidity.High, true, false),
         Tennis.Make(Outlook.Overcast, Temperature.Hot, Humidity.High, false, true),
         Tennis.Make(Outlook.Rainy, Temperature.Mild, Humidity.High, false, true),
         Tennis.Make(Outlook.Rainy, Temperature.Cool, Humidity.Normal, false, true),
         Tennis.Make(Outlook.Rainy, Temperature.Cool, Humidity.Normal, true, false),
         Tennis.Make(Outlook.Overcast, Temperature.Cool, Humidity.Normal, true, true),
         Tennis.Make(Outlook.Sunny, Temperature.Mild, Humidity.High, false, false),
         Tennis.Make(Outlook.Sunny, Temperature.Cool, Humidity.Normal, false, true),
         Tennis.Make(Outlook.Rainy, Temperature.Mild, Humidity.Normal, false, true),
         Tennis.Make(Outlook.Sunny, Temperature.Mild, Humidity.Normal, true, true),
         Tennis.Make(Outlook.Overcast, Temperature.Mild, Humidity.High, true, true),
         Tennis.Make(Outlook.Overcast, Temperature.Hot, Humidity.Normal, false, true),
         Tennis.Make(Outlook.Rainy, Temperature.Mild, Humidity.High, true, false)
     });
 }