• 大小: 4.12MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-01
  • 语言: C#
  • 标签: 决策树  

资源简介

基于C#语言的决策树代码,实现决策树,并且递归输出,代码中有注释

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace DecisionTree
{
    class DecisionTree
    {
        private Node[] Headers;
        private string[] Table;
        private int Size = 0;

        // read data and store it in a string[].
        public void Init_And_Begin(string[] data)
        {
            // split the data which was read
            string[] headers = data[0].Split(‘ ‘);
            Headers = new Node[headers.Length];
            int HeadLen = headers.Length;
            for (int i = 0; i < headers.Length; i++)
            {
                Headers[i] = new Node(headers[i] i);
            }
            // create the string[] to store the data
            Table = new string[data.Length headers.Length];
            Size = data.Length;
            // initialize the string[]
            for (int row = 0; row < Size; row++)
            {
                for (int column = 0; column < headers.Length; column++)
                {
                    Table[row column] = data[row].Split(‘ ‘)[column];
                }
            }
            // if the last column has ? then decline the size fo table.
            for (int row = 0; row < Size; row++)
            {
                if (Table[row HeadLen - 1] == “?“)
                    Size--;
            }
            // then begin
            decisive(Size  Table  Headers);
        }

        private void decisive(int Size2 string[] data Node[] Headers2)
        {
            // first print data
            PrintTable(data);
            // it is used for store the number of specific attribute
            Hashtable hashTable1 = new Hashtable();
            // it is used for store the yes number of specific attribute
            Hashtable hashTable2 = new Hashtable();
            // calcute the attributes‘ entropy and store them in Headers2
            info(Size2 data Headers2 ref hashTable1 ref hashTable2);
            // choose the best attribute to split
            choose_attribute_and_break(Size2 data Headers2 ref hashTable1 ref hashTable2);
        }

        // calcute the attributes‘ entropy and store them in Headers2
        private void info( int Size2 string[] Table2 Node[] Headers2 ref Hashtable hashTable1 ref Hashtable hashTable2 )
        {
            int yes_number = 0;
            int no_number = 0;
            // calculate the attributes‘ entropy of data 
            // first calculate the last column
            for (int i = 1; i < Size2; i++)
            {
                if (Table2[i Headers2.Length - 1].ToLower() == “yes“)
                    yes_number++;
                else if (Table2[i Headers2.Length - 1].ToLower() == “no“)
                    no_number++;                
            }
            Headers[Headers2.Length - 1].Entropy = CalculateInfo(yes_number no_number);
     
         

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9728  2012-06-04 21:58  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\Debug\DecisionTree.exe

     文件      24064  2012-06-04 21:58  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\Debug\DecisionTree.pdb

     文件      11600  2012-06-04 22:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\Debug\DecisionTree.vshost.exe

     文件        490  2010-03-17 22:39  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\Debug\DecisionTree.vshost.exe.manifest

     文件        451  2012-05-27 22:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\Debug\demo.txt

     文件        451  2012-06-03 15:45  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\Debug\demo2.txt

     文件    3543552  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\DevComponents.DotNetBar2.dll

     文件      29184  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\网络资源采集工具.exe

     文件        639  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\bin\调试方法 不会的看 会的不用看.txt

     文件        918  2012-06-04 19:46  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\ClassDiagram1.cd

     文件        912  2012-06-04 20:39  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\ClassDiagram2.cd

     文件      11333  2012-06-04 21:58  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\DecisionTree.cs

     文件       2636  2012-06-04 20:39  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\DecisionTree.csproj

     文件        403  2012-06-04 19:51  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\Node.cs

     文件    3543552  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\obj\DevComponents.DotNetBar2.dll

     文件        566  2012-06-04 22:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\obj\x86\Debug\DecisionTree.csproj.FileListAbsolute.txt

     文件       9728  2012-06-04 21:58  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\obj\x86\Debug\DecisionTree.exe

     文件      24064  2012-06-04 21:58  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\obj\x86\Debug\DecisionTree.pdb

     文件       6071  2012-06-04 21:58  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件      29184  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\obj\网络资源采集工具.exe

     文件        639  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\obj\调试方法 不会的看 会的不用看.txt

     文件        493  2012-06-04 22:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\Program.cs

     文件       1356  2012-05-27 21:52  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\Properties\AssemblyInfo.cs

     文件    3543552  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\Properties\DevComponents.DotNetBar2.dll

     文件      29184  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\Properties\网络资源采集工具.exe

     文件        639  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree\Properties\调试方法 不会的看 会的不用看.txt

     文件        878  2012-05-27 21:52  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree.sln

    ..A..H.     20992  2012-06-04 22:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DecisionTree.suo

     文件    3543552  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\DevComponents.DotNetBar2.dll

     文件      29184  2012-06-22 02:06  D使用C#实现决策树,并且递归输出,代码中有注释 ecisionTree\DecisionTree\网络资源采集工具.exe

............此处省略15个文件信息

评论

共有 条评论