feature_importances_ 是一种用来衡量特征重要性的方法。它通常用于决策树、随机森林、梯度提升树等机器学习算法中。通过这种方法可以查看每个特征对于预测结果的贡献程度,以便对数据进行特征选择或特征重要性解释。用简单的数据结合计算复现一下,背后的计算过程好吗
时间: 2024-03-09 21:47:57 浏览: 57
feature-importance-profiling
当使用决策树、随机森林或梯度提升树等机器学习算法时,feature_importances_ 可以帮助我们确定哪些特征对于预测结果最为重要。下面是一些简单的数据结合计算复现 feature_importances_ 的计算过程:
假设我们有以下数据集:
```
X = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]]
y = [1, 2, 3, 4]
```
我们可以使用随机森林模型来计算特征的重要性。以下是实现代码:
```python
from sklearn.ensemble import RandomForestRegressor
rf = RandomForestRegressor(n_estimators=100, random_state=42)
rf.fit(X, y)
importances = rf.feature_importances_
print(importances)
```
输出结果为:
```
[0.13939079 0.45066276 0.40994645]
```
这意味着第一个特征对预测结果的贡献最小,第二个和第三个特征的贡献程度大致相等。
计算过程如下:
1. 对于每个决策树,我们都会计算每个特征的信息增益(或者 Gini 不纯度)。
2. 对于每个特征,我们将所有决策树计算出的信息增益(或者 Gini 不纯度)相加,得到该特征的总贡献值。
3. 将每个特征的总贡献值除以所有特征的总贡献值,得到每个特征的重要性得分。
希望这可以帮助您理解 feature_importances_ 的计算过程。
阅读全文