Exemplo n.º 1
0
        private void Run_Click(object sender, RoutedEventArgs e)
        {
            if (isLoad == true)
            {
                Attribute hair = new Attribute("HairColor", new string[] { "Black", "Gray", "Silver" });
                Attribute height = new Attribute("Height", new string[] { "Short", "Medium", "High" });
                Attribute weight = new Attribute("Weight", new string[] { "Light", "Medium", "Heavy" });
                Attribute cream = new Attribute("Cream", new string[] { "Yes", "No" });

                Attribute[] attributes = new Attribute[] { hair, height, weight, cream };

                DataTable samples = datatable;

                DecisionTree id3 = new DecisionTree();
                TreeNode root = id3.mountTree(samples, "Result", attributes);
                TreeNode root1 = root;
                var decisiontree = new DecisionTree();
                decisiontree.SearchRule(root);
                RuleID3 = decisiontree.RuleID3;  
                int i = 1;
                foreach (var rule in RuleID3)
                {
                    ListRule.Add("Rule [" +i+ "]: IF {" + rule);
                    i++;
                }
                lvRule.ItemsSource = ListRule;
                DecisionTree.printNode(root, "     ");

                tvDecisionTree.Items.Clear();
                TreeViewItem item = new TreeViewItem();
                item.Header = "Logical Tree";

                DumpVisualTree(item, root1);

                tvDecisionTree.Items.Add(item);
                item.ExpandSubtree();

                txtTree.Text = DecisionTree.TreeList;
            }
            else
                MessageBox.Show("Data must load before run", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
        }