.. index:: single: random_forest_classifier
.. _random_forest_classifier/0:

.. rst-class:: right

**object**

``random_forest_classifier``
============================

Random Forest classifier using C4.5 decision trees as base learners. Builds an ensemble of decision trees trained on bootstrap samples with random feature subsets and combines their predictions through majority voting.

| **Availability:** 
|    ``logtalk_load(random_forest_classifier(loader))``

| **Author:** Paulo Moura
| **Version:** 2:0:0
| **Date:** 2026-05-11

| **Compilation flags:**
|    ``static, context_switching_calls``


| **Imports:**
|    ``public`` :ref:`probabilistic_classifier_common <probabilistic_classifier_common/0>`
| **Uses:**
|    :ref:`c45_classifier <c45_classifier/0>`
|    :ref:`fast_random(Algorithm) <fast_random/1>`
|    :ref:`format <format/0>`
|    :ref:`list <list/0>`
|    :ref:`pairs <pairs/0>`
|    :ref:`type <type/0>`

| **Remarks:**
|    (none)

| **Inherited public predicates:**
|     :ref:`classifier_protocol/0::check_classifier/1`  :ref:`options_protocol/0::check_option/1`  :ref:`options_protocol/0::check_options/1`  :ref:`classifier_protocol/0::classifier_options/2`  :ref:`options_protocol/0::default_option/1`  :ref:`options_protocol/0::default_options/1`  :ref:`classifier_protocol/0::diagnostic/2`  :ref:`classifier_protocol/0::diagnostics/2`  :ref:`classifier_protocol/0::export_to_clauses/4`  :ref:`classifier_protocol/0::export_to_file/4`  :ref:`classifier_protocol/0::learn/2`  :ref:`classifier_protocol/0::learn/3`  :ref:`options_protocol/0::option/2`  :ref:`options_protocol/0::option/3`  :ref:`classifier_protocol/0::predict/3`  :ref:`probabilistic_classifier_protocol/0::predict_probabilities/3`  :ref:`classifier_protocol/0::print_classifier/1`  :ref:`classifier_protocol/0::valid_classifier/1`  :ref:`options_protocol/0::valid_option/1`  :ref:`options_protocol/0::valid_options/1`  

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

(no local declarations; see entity ancestors if any)

Protected predicates
--------------------

(no local declarations; see entity ancestors if any)

Private predicates
------------------

(no local declarations; see entity ancestors if any)

Operators
---------

(none)

.. seealso::

   :ref:`dataset_protocol <dataset_protocol/0>`, :ref:`c45_classifier <c45_classifier/0>`, :ref:`isolation_forest_anomaly_detector <isolation_forest_anomaly_detector/0>`, :ref:`knn_classifier <knn_classifier/0>`, :ref:`naive_bayes_classifier <naive_bayes_classifier/0>`, :ref:`nearest_centroid_classifier <nearest_centroid_classifier/0>`, :ref:`adaptive_boosting_classifier <adaptive_boosting_classifier/0>`

