Python 反向逐步选择,以AUC为标准选择预测因子的最优子集
我希望以AUC为标准,对逻辑回归执行反向特征选择过程。为了构建逻辑回归,我使用了scikit库,但不幸的是,该库似乎没有任何向后特征选择的方法。我的因变量是一个二元银行危机变量,我有13个预测因子。有人对如何处理这个问题有什么建议吗 下面的代码说明了计算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,
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)
如果你需要更多的背景信息,让我知道
多谢各位
Jorisscikit learn在其功能选择
模块中提供了功能,几乎可以实现您所描述的功能
给定为特征分配权重的外部估计器(例如。,
线性模型的系数),递归特征的目标
消除(RFE)是通过递归地考虑特征来选择特征
越来越小的功能集。首先,对估计量进行训练
对初始特征集和每个特征的重要性进行了分析
通过coef_u属性或通过
特征_重要性u属性。那么,最不重要的特征是
从当前功能集删除。这个过程是递归的
在修剪集上重复,直到所需数量的特征
选择最终到达
然而,这并不明确适用于AUC。它通过查看逻辑回归系数进行修剪。感谢您的快速回复!我也发现了这个模块,但不幸的是,这并不能解决我的问题,因为我需要使用AUC作为最大化标准。