LGBMRegressor特征重要性可视化代码
时间: 2023-07-10 14:11:57 浏览: 151
VGG19各层特征可视化代码(python版本)
好的,这里是使用LGBMRegressor进行特征重要性可视化的代码示例:
```python
import lightgbm as lgb
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
# 加载数据
X, y = load_data()
# 创建LGBMRegressor模型对象
lgbm = lgb.LGBMRegressor()
# 拟合模型
lgbm.fit(X, y)
# 特征重要性
importance = lgbm.feature_importances_
feature_name = X.columns
# 将特征重要性进行归一化
importance = np.array(importance) / np.sum(importance)
# 将特征重要性按照从高到低进行排序
idx_sorted = np.argsort(importance)[::-1]
# 可视化
sns.set(font_scale=1.2)
fig, ax = plt.subplots(figsize=(8, 6))
sns.barplot(x=importance[idx_sorted][:20], y=feature_name[idx_sorted][:20], color='blue')
plt.xlabel('Normalized Importance')
plt.ylabel('Features')
plt.title('Top 20 Feature Importance')
plt.show()
```
在这段代码中,我们首先加载数据并创建LGBMRegressor模型对象。然后,我们使用训练数据拟合模型,并使用feature_importances_属性计算特征重要性。接着,我们将特征重要性进行归一化,并按照从高到低的顺序排序。最后,使用seaborn包中的barplot函数进行可视化。
需要注意的是,这里假设数据已经通过train_test_split等方法进行了划分,并且只使用了训练数据进行模型训练和特征重要性计算。如果需要进行交叉验证等操作,可以使用相应的方法进行修改和调整。
阅读全文