Initial commit 2

This commit is contained in:
ngb
2020-11-12 09:16:25 +01:00
parent ce5d70b3a8
commit 615d6e5201

View File

@@ -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;
} }