特征重要性评估python
时间: 2023-10-04 16:14:21 浏览: 48
特征重要性评估在Python中可以通过使用XGBoost库来实现。XGBoost的特征重要性通过特征在所有弱分类器中节点出现次数来衡量。下面是一个示例代码,展示了如何使用XGBoost库进行特征重要性评估并保存结果到json文件中:
```python
import json
import pandas as pd
import xgboost as xgb
# 读取训练数据
train_data = pd.read_csv('data/alldata.csv')
# 提取特征和标签
features = train_data.drop(columns=['价格'])
labels = train_data['价格']
# 训练XGBoost模型
model = xgb.XGBRegressor(max_depth=10, learning_rate=0.15, n_estimators=150)
model.fit(features, labels)
# 获取特征重要性
feature_importance = model.feature_importances_.tolist()
feature_names = features.columns.tolist()
# 构建特征重要性字典
feature_dict = {}
for importance, name in sorted(zip(feature_importance, feature_names), key=lambda x: x = importance
# 保存特征重要性到json文件
with open("feature_importance.json", "w", encoding='utf-8') as f:
f.write(json.dumps(feature_dict, indent=0, ensure_ascii=False))
print('成功写入特征重要性文件!')
```
以上代码使用XGBoost的回归模型训练数据,并通过`feature_importances_`属性获取特征重要性。然后,将特征重要性保存到json文件中。你可以根据自己的需要修改代码中的文件路径和模型参数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [python XGBoost 极简代码求解特征重要性](https://blog.csdn.net/qq_40811682/article/details/122591908)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* [pysaliency:用于显着性建模和评估的Python框架](https://download.csdn.net/download/weixin_42139460/15639403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]