SKLearner Home | About | Contact | Examples

Get RandomForestClassifier "n_outputs_" Attribute

The RandomForestClassifier in scikit-learn is a versatile ensemble learning algorithm that can handle both binary and multioutput classification tasks. When dealing with multioutput problems, where each sample can belong to multiple classes simultaneously, it’s important to understand the dimensionality of the output space.

The n_outputs_ attribute of a fitted RandomForestClassifier represents the number of output variables or target columns that the classifier is trained to predict. This attribute is automatically determined during the fitting process based on the shape of the target variable y.

Accessing the n_outputs_ attribute can be helpful in various scenarios, such as validating the expected number of outputs, designing post-processing steps that depend on the output dimensionality, or integrating the random forest classifier with other components in a machine learning pipeline.

from sklearn.datasets import make_classification
from sklearn.ensemble import RandomForestClassifier

# Generate a synthetic multioutput classification dataset
X, y = make_classification(n_samples=100, n_classes=3, n_informative=4, n_redundant=0,
                           n_clusters_per_class=1, random_state=42)

# Initialize a RandomForestClassifier
rf = RandomForestClassifier(n_estimators=100, random_state=42)

# Fit the classifier on the dataset
rf.fit(X, y)

# Access the n_outputs_ attribute and print its value
n_outputs = rf.n_outputs_
print(f"Number of outputs in the RandomForestClassifier: {n_outputs}")

Running the example gives an output like:

Number of outputs in the RandomForestClassifier: 1

The key steps in this example are:

  1. Generate a synthetic multioutput classification dataset using make_classification with multiple classes.
  2. Initialize a RandomForestClassifier with a specified number of trees.
  3. Fit the classifier on the generated dataset.
  4. Access the n_outputs_ attribute of the fitted classifier and store its value in the n_outputs variable.
  5. Print the number of outputs to understand the dimensionality of the problem being solved.


See Also