|
Hey,add Console.Redline() in main() cos' it disappears before I even look at it
|
|
|
|
|
using System;
using System.Collections;
using System.Data;
//AUTHOR: Roosevelt dos Santos Júnior
namespace ExemploID3
{
///
/// Classe que representa um atributo utilizado na
......
......
classe de decisão
///
class ID3Sample
{
public static void printNode(TreeNode root, string tabs)
{
Console.WriteLine(tabs + '|' + root.attribute + '|');
if (root.attribute.values != null)
{
for (int i = 0; i < root.attribute.values.Length; i++)
{
Console.WriteLine(tabs + "\t" + "<" + root.attribute.values[i] + ">");
TreeNode childNode = root.getChildByBranchName(root.attribute.values[i]);
printNode(childNode, "\t" + tabs);
}
}
}
static DataTable getDataTable()
{
DataTable result = new DataTable("samples");
DataColumn column = result.Columns.Add("TF");
column.DataType = typeof(string);
column = result.Columns.Add("IDF");
column.DataType = typeof(string);
column = result.Columns.Add("POS");
column.DataType = typeof(string);
column = result.Columns.Add("result");
column.DataType = typeof(bool);
result.Rows.Add(new object[] {"TF0", "IDF0", "A", false});
result.Rows.Add(new object[] {"TF9", "IDF0", "A", false});
// result.Rows.Add(new object[] {"TF9", "IDF0", "A", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "A", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "A", false});
result.Rows.Add(new object[] {"TF0", "IDF0", "N N", false});
result.Rows.Add(new object[] {"TF0", "IDF0", "N N N", false});
result.Rows.Add(new object[] {"TF0", "IDF0", "A", false});
result.Rows.Add(new object[] {"TF0", "IDF0", "N A", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "N N", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "N N", false});
result.Rows.Add(new object[] {"TF0", "IDF0", "N N A", false});
result.Rows.Add(new object[] {"TF9", "IDF0", "N N", true});
// result.Rows.Add(new object[] {"TF0", "IDF0", "N N N", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "A", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "A", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "A", false});
result.Rows.Add(new object[] {"TF0", "IDF0", "A A", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "N N N", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "N N", false});
// result.Rows.Add(new object[] {"TF0", "IDF0", "A", false});
return result;
Console.ReadLine();
}
///
/// The main entry point for the application.
///
///
[STAThread]
static void Main(string[] args)
{
Attribute TF = new Attribute("TF", new string[] {"TF0", "TF9"});
Attribute IDF = new Attribute("IDF", new string[] {"IDF0"});
Attribute POS = new Attribute("POS", new string[] {"A", "N N", "N A", "N N N", "A A", "N N A"});
Attribute[] attributes = new Attribute[] {TF, IDF, POS};
DataTable samples = getDataTable();
DecisionTreeID3 id3 = new DecisionTreeID3();
TreeNode root = id3.mountTree(samples, "result", attributes);
printNode(root, "");
}
}
}
|
|
|
|
|
when two attributes are same gain then we chose one and there are have some case positives = negatives = 0 --> gain = -1.#IND000000000 -> our decision tree error
|
|
|
|
|
English please
I can't read comments !
Tx by P.P.
|
|
|
|
|
Hi,
Can't you read comments in source code?
|
|
|
|
|
No, they are in Portuguese. As much as some may not like it English is the international language for programmers so writing comments in anything but English ON AN ENGLISH LANGUAGE SITE is pretty silly.
In fact most technical words are in English. Just ask anyone in Brazil to tell you the name of the software/hardware that protects your network from the bad people on the Inter-web and they will tell you, "Um firewall." But if you ask them if they have a good "uma parede de fogo" or "um incêndio parede" they will look at you strangely.
|
|
|
|
|
I can't read comment you have Eng ver?
if you have it please give me one.
|
|
|
|
|
You can go to one of numerous translators on the Internet and try to translate comments by yourself. It is not too hard as it seems to.
|
|
|
|
|
Actually it's NOT easy to translate much less easy to translate TECHNICAL terms. If he wants to publish his code on a Portuguese site fine, but this is an English site and the code is worthless without good documentation.
|
|
|
|