lightgbm特征重要性排序代码
时间: 2023-08-06 16:23:00 浏览: 95
以下是使用LightGBM库计算特征重要性排序的示例代码:
```python
import lightgbm as lgb
import pandas as pd
import numpy as np
# 加载数据集
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')
# 将标签列从数据集中分离出来
y_train = train_data.pop('label')
y_test = test_data.pop('label')
# 创建LightGBM数据集
train_dataset = lgb.Dataset(train_data, label=y_train)
test_dataset = lgb.Dataset(test_data, label=y_test)
# 模型参数
params = {
'objective': 'binary',
'boosting_type': 'gbdt',
'metric': 'auc'
}
# 训练模型
model = lgb.train(params, train_dataset, num_boost_round=1000, valid_sets=[train_dataset, test_dataset],
early_stopping_rounds=50, verbose_eval=50)
# 计算特征重要性
importance = pd.DataFrame({'feature': model.feature_name(), 'importance': model.feature_importance()})
importance = importance.sort_values(by='importance', ascending=False)
print(importance)
```
在上述代码中,我们首先加载了训练集和测试集数据,并将标签列从数据集中分离出来。接下来,我们使用`lgb.Dataset`函数创建LightGBM数据集,并指定模型参数。然后,我们使用`lgb.train`函数训练模型,并在训练过程中使用`valid_sets`参数指定验证集来进行模型评估。最后,我们使用`model.feature_name()`和`model.feature_importance()`函数计算特征重要性,并将其保存在一个名为`importance`的数据框中。最后,我们按重要性值从大到小对特征进行排序,并将结果打印输出。