随机森林筛选特征代码实现一下
时间: 2023-05-26 20:01:48 浏览: 115
以下是使用随机森林进行特征筛选的代码实现:
1. 导入必要的库和数据集
```python
import pandas as pd
from sklearn.ensemble import RandomForestRegressor
# 导入数据集
data = pd.read_csv('data.csv')
```
2. 分离特征和目标变量
```python
X = data.drop('target', axis=1) # 特征
y = data['target'] # 目标变量
```
3. 实例化随机森林回归器
```python
rf = RandomForestRegressor(n_estimators=100, random_state=0)
```
其中 `n_estimators` 参数表示随机森林中决策树的个数,`random_state` 为了结果的可重复性而设置的随机种子。
4. 训练随机森林回归器
```python
rf.fit(X, y)
```
5. 查看特征重要性
```python
print(rf.feature_importances_)
```
6. 筛选特征
```python
# 将特征重要性转为 pandas.Series 对象
feature_importance = pd.Series(rf.feature_importances_, index=X.columns)
# 返回排序后的特征重要性
sorted_feature_importance = feature_importance.sort_values(ascending=False)
# 筛选出前 n 个重要性较高的特征
n = 5 # 假设筛选出前 5 个特征
selected_features = sorted_feature_importance[:n].index
# 输出选定的特征
print(selected_features)
```
这样,我们就通过随机森林筛选出了前 5 个重要性较高的特征。实际上,除了随机森林,还有很多其他的特征选择方法,如卡方检验、互信息等等。具体选用哪一种方法,需要结合实际情况和数据集特点进行综合考虑和比较。
阅读全文