资源简介
基于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个文件信息
- 上一篇:Winform QQ登录界面源码
- 下一篇:leapmotion的官方例程c#
评论
共有 条评论