xgboost 特征重要性的可视化
时间: 2024-10-06 13:05:48 浏览: 206
XGBoost是一个强大的梯度 boosting 框架,它允许用户通过训练模型获取特征的重要性。在XGBoost中,特征重要性通常是基于树结构计算得出的,比如每棵决策树对目标变量的影响程度。
XGBoost提供了一个内置的`get_score`函数或`xgb.plot_importance`方法,用于可视化特征的重要性。你可以按照以下步骤进行:
1. **训练模型**:先使用XGBoost训练一个分类或回归模型。
```python
import xgboost as xgb
model = xgb.train(params, dtrain, num_boost_round=100)
```
2. **提取特征重要性**:
```python
feature_importances = model.get_booster().get_score(importance_type='gain')
```
3. **可视化**:
```python
import matplotlib.pyplot as plt
xgb.plot_importance(model, importance_type='gain', ax=plt)
plt.show()
```
或者,如果你在Jupyter Notebook中,可以这样展示:
```python
xgb.plot_importance(model, height=0.5) # 自动调整轴的高度
```
这将显示一个柱状图,其中每个条形代表一个特征,高度表示其对于预测的相对贡献。
阅读全文