Feature importance helps us understand which parts of our data matter most for making predictions. It shows what the model thinks is important.
You want to know which factors affect house prices the most.
You need to explain to a friend why a model made a certain decision.
You want to reduce the number of inputs to make a simpler model.
You are checking if the model is using sensible information.
You want to find out which features to focus on for improving data quality.
Syntax
ML Python
model.feature_importances_
This works for tree-based models like Random Forest or Gradient Boosting.
The output is an array showing importance scores for each feature.
Examples
Train a random forest and get feature importance scores.
ML Python
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.fit(X_train, y_train)
importances = model.feature_importances_
Print each feature name with its importance score.
ML Python
importances = model.feature_importances_
for name, score inzip(feature_names, importances):
print(f"{name}: {score:.3f}")
Sample Model
This code trains a random forest on the iris flower data and prints how important each feature is for predicting the flower type.
ML Python
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier
# Load data
iris = load_iris()
X, y = iris.data, iris.target
feature_names = iris.feature_names
# Train model
model = RandomForestClassifier(random_state=42)
model.fit(X, y)
# Get feature importance
importances = model.feature_importances_
# Print resultsfor name, score inzip(feature_names, importances):
print(f"{name}: {score:.3f}")
OutputSuccess
Important Notes
Feature importance values add up to 1.
Higher score means more influence on the model's decisions.
Not all models provide feature importance directly.
Summary
Feature importance shows which data features affect predictions most.
It helps explain and trust machine learning models.
Tree-based models like Random Forest provide easy access to these scores.
Practice
(1/5)
1. What does feature importance tell us in a machine learning model?
easy
A. The time taken to train the model
B. Which features most affect the model's predictions
C. The accuracy of the model on test data
D. The total number of features in the dataset
Solution
Step 1: Understand the meaning of feature importance
Feature importance measures how much each input feature influences the model's output predictions.
Step 2: Compare options with definition
Only Which features most affect the model's predictions correctly states that feature importance shows which features most affect predictions.
Final Answer:
Which features most affect the model's predictions -> Option B
Quick Check:
Feature importance = Most influential features [OK]
Hint: Feature importance ranks features by prediction impact [OK]
Common Mistakes:
Confusing feature count with importance
Mixing accuracy with feature importance
Thinking it measures training time
2. Which of the following is the correct way to get feature importance from a trained Random Forest model in Python using scikit-learn?
easy
A. model.feature_importances_
B. model.get_feature_importance()
C. model.feature_importance_
D. model.importance_features
Solution
Step 1: Recall scikit-learn Random Forest attribute
The correct attribute to access feature importance is feature_importances_ with an 's' and underscore at the end.
Step 2: Check each option
model.feature_importances_ matches the exact attribute name. Others are incorrect or do not exist.
Final Answer:
model.feature_importances_ -> Option A
Quick Check:
Random Forest uses feature_importances_ [OK]
Hint: Remember the plural 'importances' with trailing underscore [OK]
Common Mistakes:
Using singular 'feature_importance_'
Calling a non-existent method
Mixing attribute names
3. You have a dataset with features: Age, Income, and Number of Purchases. After training a Random Forest, the feature importances are: Age=0.1, Income=0.7, Number of Purchases=0.2. What does this tell you about your model?
easy
A. Age is the most important feature influencing predictions
B. All features are equally important
C. Number of Purchases has no effect on predictions
D. Income is the most important feature influencing predictions
Solution
Step 1: Interpret feature importance values
Higher values mean stronger influence on model predictions. Income has 0.7, which is highest.
Step 2: Compare other features
Age (0.1) and Number of Purchases (0.2) have lower importance, so less influence.
Final Answer:
Income is the most important feature influencing predictions -> Option D
Quick Check:
Highest importance = most influential feature [OK]
Hint: Highest importance value shows key feature [OK]
Common Mistakes:
Thinking low values mean no effect
Assuming equal importance despite values
Confusing feature names
4. Given this code snippet:
from sklearn.ensemble import RandomForestClassifier
X = [[1, 2], [3, 4], [5, 6], [7, 8]]
y = [0, 1, 0, 1]
model = RandomForestClassifier(random_state=0)
model.fit(X, y)
importances = model.feature_importances_
print(importances)
What is the expected output?
medium
A. [0.5 0.5]
B. [0.7 0.3]
C. [0.0 1.0]
D. An error because data is too small
Solution
Step 1: Understand the dataset and model
The dataset has two features with balanced classes. RandomForestClassifier will split importance roughly evenly.
Step 2: Predict feature importance values
With simple data and no strong bias, feature importance will be close to equal, around 0.5 each.
Final Answer:
[0.5 0.5] -> Option A
Quick Check:
Balanced features = equal importance [OK]
Hint: Small balanced data leads to roughly equal importances [OK]
Common Mistakes:
Expecting exact 0 or 1 values
Assuming error due to small data
Thinking importance sums to more than 1
5. You run this code but get an AttributeError:
from sklearn.ensemble import RandomForestClassifier
model = RandomForestClassifier()
model.feature_importances_
What is the likely cause?
medium
A. You need to import a different library for feature importance
B. RandomForestClassifier does not have feature_importances_ attribute
C. The model is not trained yet before accessing feature_importances_
D. The attribute name is misspelled
Solution
Step 1: Check model usage
The model is created but not trained with fit() before accessing feature_importances_.
Step 2: Understand attribute availability
Feature importance is only available after training. Accessing it before fit causes AttributeError.
Final Answer:
The model is not trained yet before accessing feature_importances_ -> Option C
Quick Check:
Train model before feature_importances_ [OK]
Hint: Always call fit() before feature_importances_ [OK]
Common Mistakes:
Assuming attribute doesn't exist
Thinking import is missing
Misspelling attribute name
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.