private void LearnDecissionTree() { var modifiedList = new Attributes(_learnMessages); var frequenceTable = new FrequenceTable(modifiedList.Entries); frequenceTable.CreateFrequenceTables(); DecissionTree = new CalculateDecissionTree(frequenceTable, _porpertyList); }
public CalculateDecissionTree(FrequenceTable table, List <Properties> properties) { this.FrequenceTable = table; this.ActualMessages = table.Messages; SetHamAndSpamCount(); MessagesCount = HamCount + SpamCount; SetAvailableAttributes(properties); Controller(); }
private CalculateDecissionTree(FrequenceTable table, int spamCount, int hamCount, List <Properties> properties) { this.FrequenceTable = table; this.MessagesCount = hamCount + spamCount; this.ActualMessages = table.Messages; this.HamCount = hamCount; this.SpamCount = spamCount; SetAvailableAttributes(properties); Controller(); }
private void NextNodeController() { SetParameterForNextNode(); //Ermittelt alle Attribute von den Nachrichten welche übergeben werden. var modifiedListFalse = new Attributes(NewMessagesFalse); var modifiedListTrue = new Attributes(NewMessagesTrue); modifiedListTrue.SetAttributeToMessage(); modifiedListFalse.SetAttributeToMessage(); //Erstellt eine FrequenceTable von allen Nachrichten welche übergeben werden. Aufgeteilt in sämtlich Attribute. NewFrequenceTableFalse = new FrequenceTable(modifiedListFalse.Entries); NewFrequenceTableFalse.CreateFrequenceTables(); NewFrequenceTableTrue = new FrequenceTable(modifiedListTrue.Entries); NewFrequenceTableTrue.CreateFrequenceTables(); //Wenn Knoten weiter mit false geht, darf kein Element mehr übergeben werden welches dieses Attribute nicht besitzt //Daher wir bei false die Werte von True übergeben und bei True die Werte von False!!! //Der Rekursive Aufruf erfolgt hier!! NewNodeFalse = new CalculateDecissionTree(NewFrequenceTableTrue, NewSpamCountTrue, NewHamCountTrue, _availableProperties); NewNodeTrue = new CalculateDecissionTree(NewFrequenceTableFalse, NewSpamCountFalse, NewHamCountFalse, _availableProperties); }