Python 反向逐步选择,以AUC为标准选择预测因子的最优子集

Python 反向逐步选择,以AUC为标准选择预测因子的最优子集,python,logistic-regression,feature-selection,Python,Logistic Regression,Feature Selection,我希望以AUC为标准,对逻辑回归执行反向特征选择过程。为了构建逻辑回归,我使用了scikit库,但不幸的是,该库似乎没有任何向后特征选择的方法。我的因变量是一个二元银行危机变量,我有13个预测因子。有人对如何处理这个问题有什么建议吗 下面的代码说明了计算AUC的方法。问题是,我不知道如何决定我可以删减哪个功能,因为它没有其他功能重要 def cv_循环(X,y,model,N): 平均值=0。 对于范围(N)中的i: X_列,X_cv,y_列,y_cv=列测试( 十、 y,测试尺寸=0.20,

我希望以AUC为标准,对逻辑回归执行反向特征选择过程。为了构建逻辑回归,我使用了scikit库,但不幸的是,该库似乎没有任何向后特征选择的方法。我的因变量是一个二元银行危机变量,我有13个预测因子。有人对如何处理这个问题有什么建议吗

下面的代码说明了计算AUC的方法。问题是,我不知道如何决定我可以删减哪个功能,因为它没有其他功能重要

def cv_循环(X,y,model,N):
平均值=0。
对于范围(N)中的i:
X_列,X_cv,y_列,y_cv=列测试(
十、 y,测试尺寸=0.20,
随机_状态=i*种子)
模型拟合(X\U系列、y\U系列)
preds=模型。预测概率(X_cv)[:,1]
fpr,tpr,u=metrics.roc_曲线(y_cv,preds)
auc=metrics.auc(fpr,tpr)
打印(“AUC(折叠%d/%d):%f”%(i+1,N,AUC))
平均auc+=auc
返回平均值(auc/N)
如果你需要更多的背景信息,让我知道

多谢各位

Joris

scikit learn在其
功能选择
模块中提供了功能,几乎可以实现您所描述的功能

给定为特征分配权重的外部估计器(例如。, 线性模型的系数),递归特征的目标 消除(RFE)是通过递归地考虑特征来选择特征 越来越小的功能集。首先,对估计量进行训练 对初始特征集和每个特征的重要性进行了分析 通过coef_u属性或通过 特征_重要性u属性。那么,最不重要的特征是 从当前功能集删除。这个过程是递归的 在修剪集上重复,直到所需数量的特征 选择最终到达


然而,这并不明确适用于AUC。它通过查看逻辑回归系数进行修剪。

感谢您的快速回复!我也发现了这个模块,但不幸的是,这并不能解决我的问题,因为我需要使用AUC作为最大化标准。