示例#1
0
        static void Main(string[] args)
        {
            DataTable table = new DataTable();

            A outlook = new A(Const.Outlook, new List<Option>() { new Option(Const.Sunny), new Option(Const.Overcast), new Option(Const.Rainy) });
            A temperature = new A(Const.Temperature, new List<Option>() { new Option(Const.Hot), new Option(Const.Mild), new Option(Const.Cool) });
            A humidity = new A(Const.Humidity, new List<Option>() { new Option(Const.High), new Option(Const.Normal) });
            A windy = new A(Const.Windy, new List<Option>() { new Option(Const.False), new Option(Const.True) });
            A play = new A(Const.Play, new List<Option>() { new Option(Const.Yes), new Option(Const.No) });

            List<A> attributes = new List<A>() { outlook, temperature, humidity, windy };

            table.Columns.Add(outlook.Name, typeof(string));
            table.Columns.Add(temperature.Name, typeof(string));
            table.Columns.Add(humidity.Name, typeof(string));
            table.Columns.Add(windy.Name, typeof(string));
            table.Columns.Add(play.Name, typeof(string));

            #region Weather Data

            table.Rows.Add(Const.Sunny, Const.Hot, Const.High, Const.False, Const.No);
            table.Rows.Add(Const.Sunny, Const.Hot, Const.High, Const.True, Const.No);
            table.Rows.Add(Const.Overcast, Const.Hot, Const.High, Const.False, Const.Yes);
            table.Rows.Add(Const.Rainy, Const.Mild, Const.High, Const.False, Const.Yes);
            table.Rows.Add(Const.Rainy, Const.Cool, Const.Normal, Const.False, Const.Yes);
            table.Rows.Add(Const.Rainy, Const.Cool, Const.Normal, Const.True, Const.No);
            table.Rows.Add(Const.Overcast, Const.Cool, Const.Normal, Const.True, Const.Yes);
            table.Rows.Add(Const.Sunny, Const.Mild, Const.High, Const.False, Const.No);
            table.Rows.Add(Const.Sunny, Const.Cool, Const.Normal, Const.False, Const.Yes);
            table.Rows.Add(Const.Rainy, Const.Mild, Const.Normal, Const.False, Const.Yes);
            table.Rows.Add(Const.Sunny, Const.Mild, Const.Normal, Const.True, Const.Yes);
            table.Rows.Add(Const.Overcast, Const.Mild, Const.High, Const.True, Const.Yes);
            table.Rows.Add(Const.Overcast, Const.Hot, Const.Normal, Const.False, Const.Yes);
            table.Rows.Add(Const.Rainy, Const.Mild, Const.High, Const.True, Const.No);

            #endregion

            Tree decisionTree = new Tree();

            decisionTree.BuildDecisionTree(table, attributes, null);

            decisionTree.PrintDecisionTree(decisionTree.Nodes[0]);

            Console.ReadKey();
        }
示例#2
0
        static void Main(string[] args)
        {
            DataTable dtable = new DataTable();

            Attrib outlook = new Attrib(Const.Outlook, new List<Dannue>() { new Dannue(Const.Sunny), new Dannue(Const.Overcast), new Dannue(Const.Rainy) });
            Attrib temperature = new Attrib(Const.Temp, new List<Dannue>() { new Dannue(Const.Hot), new Dannue(Const.Mild), new Dannue(Const.Cool) });
            Attrib humidity = new Attrib(Const.Humidity, new List<Dannue>() { new Dannue(Const.High), new Dannue(Const.Normal) });
            Attrib windy = new Attrib(Const.Windy, new List<Dannue>() { new Dannue(Const.False), new Dannue(Const.True) });
            Attrib play = new Attrib(Const.Play, new List<Dannue>() { new Dannue(Const.Yes), new Dannue(Const.No) });

            List<Attrib> attributes = new List<Attrib>() { outlook, temperature, humidity, windy };

            dtable.Columns.Add(outlook.attributeName, typeof(string));
            dtable.Columns.Add(temperature.attributeName, typeof(string));
            dtable.Columns.Add(humidity.attributeName, typeof(string));
            dtable.Columns.Add(windy.attributeName, typeof(string));
            dtable.Columns.Add(play.attributeName, typeof(string));

            dtable.Rows.Add(Const.Sunny, Const.Hot, Const.High, Const.False, Const.No);
            dtable.Rows.Add(Const.Sunny, Const.Hot, Const.High, Const.True, Const.No);
            dtable.Rows.Add(Const.Overcast, Const.Hot, Const.High, Const.False, Const.Yes);
            dtable.Rows.Add(Const.Rainy, Const.Mild, Const.High, Const.False, Const.Yes);
            dtable.Rows.Add(Const.Rainy, Const.Cool, Const.Normal, Const.False, Const.Yes);
            dtable.Rows.Add(Const.Rainy, Const.Cool, Const.Normal, Const.True, Const.No);
            dtable.Rows.Add(Const.Overcast, Const.Cool, Const.Normal, Const.True, Const.Yes);
            dtable.Rows.Add(Const.Sunny, Const.Mild, Const.High, Const.False, Const.No);
            dtable.Rows.Add(Const.Sunny, Const.Cool, Const.Normal, Const.False, Const.Yes);
            dtable.Rows.Add(Const.Rainy, Const.Mild, Const.Normal, Const.False, Const.Yes);
            dtable.Rows.Add(Const.Sunny, Const.Mild, Const.Normal, Const.True, Const.Yes);
            dtable.Rows.Add(Const.Overcast, Const.Mild, Const.High, Const.True, Const.Yes);
            dtable.Rows.Add(Const.Overcast, Const.Hot, Const.Normal, Const.False, Const.Yes);
            dtable.Rows.Add(Const.Rainy, Const.Mild, Const.High, Const.True, Const.No);

            Tree decisionTree = new Tree();

            decisionTree.BuildDecisionTree(dtable, attributes, null);

            decisionTree.PrintDecisionTree(decisionTree.treeNodes[0]);

            Console.ReadKey();
        }