lightgbm特征重要性排序
时间: 2023-09-14 19:06:21 浏览: 234
对于LightGBM模型,可以使用`feature_importances_`属性来获取特征重要性排序。下面是一个示例代码:
```python
import lightgbm as lgb
import numpy as np
# 创建并训练LightGBM模型
train_data = lgb.Dataset(X_train, label=y_train)
params = {
'objective': 'binary',
'metric': 'binary_logloss'
}
model = lgb.train(params, train_data, num_boost_round=100)
# 获取特征重要性排序
importance = model.feature_importance()
feature_names = np.array(model.feature_name())
sorted_idx = np.argsort(importance)[::-1]
# 打印特征重要性排序
for idx in sorted_idx:
print(f"{feature_names[idx]}: {importance[idx]}")
```
这段代码首先创建了一个LightGBM的训练数据集`train_data`,然后定义了模型参数`params`,并使用`lgb.train()`方法训练模型。接下来,使用`model.feature_importance()`获取特征重要性,并使用`np.argsort()`对特征重要性进行排序。最后,通过遍历排序后的索引,打印特征名称和对应的重要性值。
请注意,`X_train`是训练数据的特征矩阵,`y_train`是对应的标签。你需要将其替换为你自己的数据。
阅读全文