| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.98.0/docs/apis/_sources/c45_0.rst.txt |
.. index:: single: c45 .. _c45/0:
.. rst-class:: right
object
c45
C4.5 decision tree learning algorithm. Builds a decision tree from a dataset object implementing the dataset_protocol protocol and provides predicates for exporting the learned tree as a list of predicate clauses or to a file. Supports both discrete and continuous attributes, handles missing values, and supports tree pruning.
| Availability:
| logtalk_load(c45(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-02-20
| Compilation flags:
| static, context_switching_calls
| Implements:
| public :ref:`classifier_protocol <classifier_protocol/0>`
| Uses:
| :ref:`format <format/0>`
| :ref:`list <list/0>`
| :ref:`numberlist <numberlist/0>`
| :ref:`pairs <pairs/0>`
| Remarks:
leaf(Class) for leaf nodes and tree(Attribute, Subtrees) for internal nodes with discrete attributes, where Subtrees is a list of Value-Subtree pairs.tree(Attribute, threshold(Threshold), LeftSubtree, RightSubtree) where LeftSubtree corresponds to values =< Threshold and RightSubtree to values > Threshold.(0.0, 1.0)) and minimum instances per leaf (default 2). Subtrees are replaced with leaf nodes when doing so would not increase the estimated error.| Inherited public predicates: | Â :ref:`classifier_protocol/0::classifier_to_clauses/4` Â :ref:`classifier_protocol/0::classifier_to_file/4` Â :ref:`classifier_protocol/0::learn/2` Â :ref:`classifier_protocol/0::predict/3` Â :ref:`classifier_protocol/0::print_classifier/1` Â
.. contents:: :local: :backlinks: top
.. index:: prune/5 .. _c45/0::prune/5:
prune/5 ^^^^^^^^^^^
Prunes a decision tree using pessimistic error pruning (PEP). This post-pruning method estimates error rates using the upper confidence bound of the binomial distribution with the given confidence factor and replaces subtrees with leaf nodes when doing so would not increase the estimated error. Pruning helps reduce overfitting and can improve generalization to unseen data.
| Compilation flags:
| static
| Template:
| prune(Dataset,Tree,ConfidenceFactor,MinInstances,PrunedTree)
| Mode and number of proofs:
| prune(+object_identifier,+tree,+float,+positive_integer,-tree) - one
| Remarks:
(0.0, 1.0). Lower values result in more aggressive pruning (smaller, simpler trees), while higher values result in less pruning (larger, more complex trees). The default value is 0.25.2... index:: prune/3 .. _c45/0::prune/3:
prune/3 ^^^^^^^^^^^
Prunes a decision tree using pessimistic error pruning (PEP) with default parameter values. Calls prune/5 with ConfidenceFactor = 0.25 and MinInstances = 2.
| Compilation flags:
| static
| Template:
| prune(Dataset,Tree,PrunedTree)
| Mode and number of proofs:
| prune(+object_identifier,+tree,-tree) - one
| Remarks:
0.25 (the confidence level for computing the upper bound of the error estimate) and minimum instances per leaf of 2.(no local declarations; see entity ancestors if any)
(no local declarations; see entity ancestors if any)
(none)
.. seealso::
:ref:`dataset_protocol <dataset_protocol/0>`, :ref:`isolation_forest <isolation_forest/0>`, :ref:`knn <knn/0>`, :ref:`naive_bayes <naive_bayes/0>`, :ref:`nearest_centroid <nearest_centroid/0>`, :ref:`random_forest <random_forest/0>`, :ref:`ada_boost <ada_boost/0>`