Python RFE
时间: 2023-08-27 09:16:13 浏览: 176
RFE(Recursive Feature Elimination)是一种特征选择方法,用于选择对于预测任务最具有重要性的特征。Python中有多个库和工具可以实现RFE,其中最常用的是scikit-learn库。
在scikit-learn中,RFE可以通过`sklearn.feature_selection.RFE`类来实现。下面是一个使用RFE进行特征选择的示例代码:
```python
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression
# 假设有特征矩阵 X 和目标变量 y
# 创建逻辑回归模型作为基模型
model = LogisticRegression()
# 创建RFE对象,指定要选择的特征数量
rfe = RFE(estimator=model, n_features_to_select=3)
# 应用RFE进行特征选择
X_selected = rfe.fit_transform(X, y)
# 输出选择的特征
print(X_selected.shape)
print(rfe.support_)
print(rfe.ranking_)
```
在上述代码中,我们首先创建了一个逻辑回归模型作为基模型,然后创建了一个RFE对象,并指定要选择的特征数量(这里选择了3个特征)。然后,我们使用`fit_transform`方法对特征矩阵X进行特征选择,得到选择的特征矩阵`X_selected`。最后,我们可以通过`support_`属性查看每个特征是否被选择,以及通过`ranking_`属性查看每个特征的重要性排序。
需要注意的是,RFE是一种递归的特征选择方法,它会反复训练模型并剔除最不重要的特征,直到达到指定的特征数量。因此,RFE的计算成本可能较高,特别是在特征维度较高的情况下。
阅读全文