lgb特征重要性的python代码
时间: 2023-07-23 21:35:52 浏览: 112
下面是使用LightGBM计算特征重要性的Python代码示例:
```python
import lightgbm as lgb
import numpy as np
import pandas as pd
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
# 加载数据
data = load_boston()
X = pd.DataFrame(data.data, columns=data.feature_names)
y = data.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义LightGBM模型
lgb_model = lgb.LGBMRegressor()
# 训练模型
lgb_model.fit(X_train, y_train)
# 计算特征重要性
importance = lgb_model.feature_importances_
# 将特征重要性从高到低排序
sorted_idx = np.argsort(importance)[::-1]
# 打印特征重要性排名
for i in range(X_train.shape[1]):
print("{} feature: {} ({})".format(i+1, X_train.columns[sorted_idx[i]], importance[sorted_idx[i]]))
```
在这个示例中,我们使用了波士顿房价数据集,并将数据集划分为训练集和测试集。我们定义了一个LightGBM模型,并使用训练集拟合了模型。然后,我们使用LightGBM内置方法计算了特征重要性,并将其从高到低排序。最后,我们打印了特征重要性排名。
请注意,特征重要性的计算方法因算法而异,因此在使用其他算法时,代码可能会略有不同。
阅读全文