ID3.tex 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. \documentclass{article}
  2. \usepackage[pdftex,active,tightpage]{preview}
  3. \setlength\PreviewBorder{2mm}
  4. \usepackage[utf8]{inputenc} % this is needed for umlauts
  5. \usepackage[ngerman]{babel} % this is needed for umlauts
  6. \usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf
  7. \usepackage{amssymb,amsmath,amsfonts} % nice math rendering
  8. \usepackage{braket} % needed for \Set
  9. \usepackage{algorithm,algpseudocode}
  10. \DeclareMathOperator*{\argmin}{arg\,min}
  11. \begin{document}
  12. \begin{preview}
  13. \begin{algorithm}[H]
  14. \begin{algorithmic}
  15. \Require Trainingsdaten $X$ jeweils mit Klasse $K(X)$, Attribute~$A$,
  16. Qualitätsfunktion $\varphi$
  17. \Procedure{ID3}{$X$, $A$}
  18. \If{$K(x_i) = K(x_j) \;\;\;\forall x_i, x_j \in X$}
  19. \State \Return Klasse $K(x_0)$
  20. \Else
  21. \State $a_\text{min} \gets \argmin_{a \in A} \varphi(a)$
  22. \State $n \gets \Call{CreateNode}{}$
  23. \For{Attributwert $w$ in $a_\text{min}(X)$}
  24. \State $X_{a_\text{min} = w} \gets \{x \in X | a_\text{min}(X) = w\}$
  25. \State $child \gets \Call{ID3}{X_{a_\text{min}}, A}$
  26. \State $n.\Call{AddChild}{child}$
  27. \EndFor
  28. \State \Return $n$
  29. \EndIf
  30. \EndProcedure
  31. \end{algorithmic}
  32. \caption{ID3 Algorithmus}
  33. \label{alg:ID3}
  34. \end{algorithm}
  35. \end{preview}
  36. \end{document}