forked from IF-LK-2020/entscheidungsbaum
Initial commit 2
This commit is contained in:
@@ -17,7 +17,6 @@ public class DecisionTreeBuilder {
|
|||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/*aufg*
|
|
||||||
// TODO: Hier den Entscheidungsbaum aufbauen.
|
// TODO: Hier den Entscheidungsbaum aufbauen.
|
||||||
//
|
//
|
||||||
// Der Baum wird von den Blättern nach "oben" zur Wurzel aufgebaut.
|
// Der Baum wird von den Blättern nach "oben" zur Wurzel aufgebaut.
|
||||||
@@ -28,24 +27,6 @@ public class DecisionTreeBuilder {
|
|||||||
// classYes // rechter Teilbaum
|
// classYes // rechter Teilbaum
|
||||||
// );
|
// );
|
||||||
// usw...
|
// usw...
|
||||||
*aufg*/
|
|
||||||
//ml*
|
|
||||||
BinaryTree<DecisionNode> wind = new BinaryTree<>(
|
|
||||||
new Decision("wind", "stark"),
|
|
||||||
classNo,
|
|
||||||
classYes
|
|
||||||
);
|
|
||||||
BinaryTree<DecisionNode> vorhersage = new BinaryTree<>(
|
|
||||||
new Decision("vorhersage", "sonnig"),
|
|
||||||
wind,
|
|
||||||
classYes
|
|
||||||
);
|
|
||||||
BinaryTree<DecisionNode> feuchtigkeit = new BinaryTree<>(
|
|
||||||
new Decision("feuchtigkeit", "hoch"),
|
|
||||||
classNo,
|
|
||||||
classYes
|
|
||||||
);
|
|
||||||
//*ml
|
|
||||||
// Die Wurzel zuletzt
|
// Die Wurzel zuletzt
|
||||||
decisionTree = new BinaryTree<>(
|
decisionTree = new BinaryTree<>(
|
||||||
new Decision("vorhersage", "regnerisch"),
|
new Decision("vorhersage", "regnerisch"),
|
||||||
@@ -86,37 +67,9 @@ public class DecisionTreeBuilder {
|
|||||||
String result = "";
|
String result = "";
|
||||||
while( result.equals("") || result.equals("left")
|
while( result.equals("") || result.equals("left")
|
||||||
|| result.equals("right") ) {
|
|| result.equals("right") ) {
|
||||||
/*aufg* 1
|
|
||||||
// TODO: Impementiere den Durchlauf durch den Entschiedungsbaum,
|
// TODO: Impementiere den Durchlauf durch den Entschiedungsbaum,
|
||||||
// indem bei jedem inneren Knoten die Entscheidung getroffen wird,
|
// indem bei jedem inneren Knoten die Entscheidung getroffen wird,
|
||||||
// ob links oder rechts weitergemacht wird.
|
// ob links oder rechts weitergemacht wird.
|
||||||
*aufg*/
|
|
||||||
/*aufg* 2
|
|
||||||
// TODO: Impementiere den Durchlauf durch den Entschiedungsbaum,
|
|
||||||
// indem bei jedem inneren Knoten die Entscheidung getroffen wird,
|
|
||||||
// ob links oder rechts weitergemacht wird.
|
|
||||||
|
|
||||||
DecisionNode e = null;
|
|
||||||
result = "???";
|
|
||||||
|
|
||||||
if( result.equals("left") ) {
|
|
||||||
// ...
|
|
||||||
} else if( result.equals("right") ) {
|
|
||||||
// ...
|
|
||||||
}
|
|
||||||
*aufg*/
|
|
||||||
//ml*
|
|
||||||
DecisionNode e = node.getContent();
|
|
||||||
result = e.decide(pDataset);
|
|
||||||
|
|
||||||
if( result.equals("left") ) {
|
|
||||||
// Im linken Teilbaum weiter
|
|
||||||
node = node.getLeftTree();
|
|
||||||
} else if( result.equals("right") ) {
|
|
||||||
// Im rechten Teilbaum weiter
|
|
||||||
node = node.getRightTree();
|
|
||||||
}
|
|
||||||
//*ml
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user