大数据技术

大数据与AI之特征筛选:面对过滤法、包装法、嵌入法、稳定性选择、SHAP重要性、AI辅助筛选这一长串工具,到底有没有一套按“特征量级、样本量、是否存在时间/实体依赖、计算预算、上线一致性要求”依次回答的决策顺序,而不是默认先跑一遍SelectKBest或直接看树模型feature_importances_就完事?

👤 为我痴狂 👁 52 阅读 ❤ 0 点赞 ➦ 0 分享 📅 2026-10-23
首页› 大数据› 大数据技术› 正文
大数据与AI之特征筛选:一条按量级、样本、依赖、预算与一致性展开的决策主线

从"默认跑一遍 SelectKBest"到"先问五个问题"——过滤法、包装法、嵌入法、稳定性选择、SHAP 重要性与 AI 辅助筛选的工程化决策顺序

技术深度 · 工程实践 · 前沿预判 | 紫色主题 · 长文精读

摘要

特征筛选在真实项目里最常见的失败模式,不是算法选错,而是决策顺序错:拿到一张宽表,先无脑 SelectKBest(f_classif, k=50),或者直接 model.feature_importances_ 排序取前 N,然后上线、然后翻车。本文试图回答一个更根本的问题——面对过滤法、包装法、嵌入法、稳定性选择、SHAP 重要性和近两年兴起的 AI 辅助筛选(LLM 语义先验、AutoML 搜索、神经特征选择器),是否存在一条可以按"特征量级 → 样本量 → 是否存在时间/实体依赖 → 计算预算 → 上线一致性要求"依次回答的决策主线,而不是把所有工具平铺成一张"方法对比表"。本文的主线是:特征筛选不是"选特征",而是"在给定数据生成过程与上线约束下,对候选特征做一次可复现的因果/相关证据裁决"。围绕这条主线,文章给出五问决策树、各方法的适用边界、可落地的代码骨架、常见陷阱清单,以及面向 2025—2026 年的前沿预判。

目录

一、问题的提出:为什么"默认跑一遍"几乎必然出错

先说一个在工业界反复出现的场景。某风控团队拿到一张 3000 列、80 万行的用户行为宽表,第一版模型用 SelectKBest 取前 200 列,AUC 0.81,上线后三个月掉到 0.74。复盘发现:被选中的 200 列里有 40 多列是"近 7 天登录次数""近 30 天登录次数"这类高度共线的时间窗口统计量,它们在训练期恰好与标签同向,但在线上因为埋点口径变更而整体漂移。更致命的是,f_classif 是在全量数据上算的,包含了验证期和测试期的样本,特征筛选阶段就已经发生了信息泄漏。

这个案例不是孤例。它暴露的不是"某个方法不好",而是三个结构性误区:

  • 误区一:把特征筛选当成一次性的预处理步骤。实际上它是一次建模决策,必须和验证协议、上线监控绑定。
  • 误区二:把方法当成互斥选项。过滤法、包装法、嵌入法不是"三选一",而是在不同阶段回答不同问题的工具。
  • 误区三:忽略数据的生成结构。时间依赖、实体(用户/设备/门店)分组、面板结构,会直接决定哪些方法在统计上根本无效。

Guyon 与 Elisseeff 在 2003 年的经典综述里就把特征选择分为 filter、wrapper、embedded 三类,这个分类至今仍是教科书标准框架(Guyon & Elisseeff, 2003)。但笔者认为,这个分类回答的是"方法怎么算",而不是"什么时候该用哪个"。二十多年过去,工具数量翻了几倍(稳定性选择、SHAP、Boruta、knockoff、LLM 先验),但"决策顺序"这件事反而更模糊了。本文要补的,正是这块空白。

特征筛选的第一性问题是:在给定数据生成过程(DGP)与上线约束下,如何以可复现的方式,对"某特征是否应进入模型"给出有证据支撑的裁决。方法只是证据的采集手段。

二、主线确立:把特征筛选还原为"证据裁决"

如果把特征筛选理解为"证据裁决",那么每一类方法采集的是不同性质的证据:

方法族 采集的证据类型 证据强度 主要失效条件
过滤法(方差、卡方、互信息、相关系数) 边际关联证据 弱 忽略交互、忽略条件独立
包装法(RFE、前向/后向、Boruta) 模型性能反事实证据 中—强 计算昂贵、易过拟合验证集
嵌入法(L1、树重要性、Elastic Net) 训练过程内生的稀疏证据 中 共线特征随机保留、重要性不稳定
稳定性选择(Stability Selection、knockoff) 重采样下的选择频率证据 强(含 FDR 控制) 计算量大、对基学习器敏感
SHAP 重要性 已训练模型上的归因证据 中(解释性而非因果性) 相关特征分摊、外推不可靠
AI 辅助筛选(LLM 先验、AutoML、神经选择器) 语义/搜索/表示学习证据 弱—中(依赖先验质量) 幻觉、不可复现、审计困难

这张表的关键不是"谁更强",而是证据强度必须与决策后果匹配。如果特征只是进入一个可快速迭代的推荐粗排模型,弱证据(过滤法)足够;如果特征要进入信贷审批的评分卡并接受监管审计,就必须用强证据(稳定性选择 + knockoff 的 FDR 控制),并留下完整的裁决记录。

由此,本文提出贯穿全文的五问决策主线:

Q1 特征量级:p 是几十、几百,还是上万、上百万?是否稀疏?

Q2 样本量:n 与 p 的相对关系如何?n/p 是否小于 10?

Q3 依赖结构:是否存在时间顺序、实体分组、面板/层次结构?

Q4 计算预算:单机分钟级、小时级,还是必须分布式?

Q5 上线一致性:是否需要可复现、可解释、可监控、可审计?

这五问的顺序不能随意调换。原因在于:前面的问题会直接排除掉后面的一部分方法族。例如 Q3 一旦确认存在时间依赖,任何"全量数据上算重要性"的做法(包括默认的 SelectKBest 和直接读 feature_importances_)在协议上就已经错了,后面 Q4、Q5 讨论得再细也没有意义。这正是本文与常见"方法对比表"式文章的根本区别。

三、第一问:特征量级——宽表、超高维与稀疏结构

3.1 量级的分档与对应方法族

工程上把 p 分成四档比较实用:

档位 p 范围 典型场景 首选方法族
小 p < 100 实验数据、问卷、小规模业务表 包装法 + 稳定性选择,可全量搜索
中 100 ≤ p < 2000 常规风控、营销、工业传感器 嵌入法(L1/树)+ SHAP 复核
大 2000 ≤ p < 105 用户行为宽表、文本 TF-IDF 过滤法预筛 + 嵌入法 + 稳定性选择
超大/稀疏 p ≥ 105 或稀疏率 > 95% 基因表达、广告 ID 类特征、日志 n-gram 单变量过滤 + 稀疏模型(L1/Lasso、FTRL)+ knockoff 子采样

这里要强调一个常被忽略的点:量级不只影响"能不能算",更影响"统计上是否可识别"。当 p 远大于 n 时,任何依赖"全模型拟合"的方法(包装法、部分嵌入法)都会面临解不唯一的问题。此时单变量过滤虽然证据弱,却是唯一在计算与统计上都站得住脚的第一步。Fan 与 Lv 在 2008 年提出的"确定独立筛选"(SIS, Sure Independence Screening)正是针对这一场景的理论化:在温和条件下,单变量筛选能以趋于 1 的概率保留所有真实重要变量(Fan & Lv, 2008)。本文评述:SIS 的价值不在于"单变量筛选很准",而在于它给出了"先粗筛、再精修"两阶段范式的理论许可——这正是超高维场景下工程实践的标准做法。

3.2 稀疏结构:不要用稠密工具处理稀疏数据

当特征矩阵稀疏率超过 95%(如 one-hot 后的 ID 类特征),很多默认实现会直接爆内存。此时应优先使用支持稀疏输入的实现:sklearn.feature_selection.chi2、SelectKBest 配合 scipy.sparse、SGDClassifier(loss='log_loss', penalty='l1')、以及 Vowpal Wabbit / FTRL 类在线学习器。一个实用技巧是:先按文档频率(DF)做硬阈值过滤(如 DF < 5 或 DF > 0.95·n 直接丢弃),这一步几乎不损失信息,却能把 p 降一个数量级。

# 稀疏高维场景的第一步:DF 硬过滤(示意,模拟数据)
import numpy as np
from scipy.sparse import csr_matrix
from sklearn.feature_extraction.text import CountVectorizer

# 假设 X 为 csr_matrix,n=100000, p=500000(模拟)
df = np.asarray((X > 0).sum(axis=0)).ravel()
keep = (df >= 5) & (df <= 0.95 * X.shape[0])
X_reduced = X[:, keep]
print(f"p: {X.shape[1]} -> {X_reduced.shape[1]}")

关于稀疏特征工程的更多实操,可参考 scikit-learn 官方文档中 Feature selection 一节,以及 StatQuest 的特征选择系列视频(适合快速建立直觉)。

四、第二问:样本量——n 与 p 的相对关系决定方法族

4.1 n/p 比值:一个被低估的决策变量

很多团队只看 n 的绝对值("我们有 100 万样本,够了"),却忽略 n/p。经验上:

  • n/p > 50:数据充裕,包装法、稳定性选择都可以放心跑,交叉验证估计也稳。
  • 10 < n/p ≤ 50:嵌入法为主,包装法需配合重复交叉验证控制方差。
  • 1 < n/p ≤ 10:高维小样本,单变量过滤 + 强正则(L1/Elastic Net)+ 稳定性选择,慎用包装法。
  • n/p ≤ 1:超高维,SIS 类两阶段范式,或直接上稀疏模型,包装法基本不可行。

这个分档不是拍脑袋。它背后是"有效样本量"的概念:当特征高度相关时,独立信息量远小于 n。一个实用的诊断是计算特征矩阵的有效秩(如通过 PCA 解释 95% 方差所需的成分数),用它替代 p 来重算 n/p。笔者认为,把 n/p 换成 n/有效秩,是比单纯看 n 更靠谱的预算估计方式,尤其在高相关宽表上。

4.2 小样本下的方差陷阱

小样本 + 高维时,包装法的"选择结果"本身方差极大:换一个随机种子,选出的特征集可能面目全非。这正是 Meinshausen 与 Bühlmann 在 2010 年提出稳定性选择(Stability Selection)的动机——不追求"一次选对",而是通过大量子采样,统计每个特征被选中的频率,只保留频率超过阈值 πthr 的特征(Meinshausen & Bühlmann, 2010)。本文评述:稳定性选择的核心贡献是把"选择"从点估计变成了分布估计,它天然适合小样本场景,因为子采样恰好放大了"哪些特征在扰动下依然稳定"这一信号。工程上,πthr 取 0.6—0.8 是常见起点,但更严谨的做法是按期望的假发现率(FDR)反推阈值,这在下文 knockoff 部分展开。

五、第三问:时间与实体依赖——泄漏、漂移与分组结构

5.1 时间依赖:特征筛选协议必须先于方法选择

这是本文认为最容易被跳过、后果最严重的一问。只要数据存在时间顺序,任何"在全体样本上计算重要性"的做法都构成信息泄漏。正确的协议是:

  1. 按时间切分训练/验证/测试(如训练 ≤ T1,验证 (T1, T2],测试 > T2)。
  2. 所有特征筛选(包括过滤法的统计量计算)只在训练窗口内拟合,然后 transform 到验证/测试窗口。
  3. 用滚动/扩展窗口做多次回测,观察选择结果的稳定性。

scikit-learn 的 TimeSeriesSplit 和 Pipeline 可以强制这一约束。关键是把筛选器放进 Pipeline,而不是在 Pipeline 外先做一遍筛选:

from sklearn.pipeline import Pipeline
from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import TimeSeriesSplit, cross_val_score

# 正确:筛选器在 Pipeline 内,每折只用训练部分拟合
pipe = Pipeline([
    ("select", SelectKBest(f_classif, k=100)),
    ("clf", LogisticRegression(max_iter=1000)),
])
cv = TimeSeriesSplit(n_splits=5)
scores = cross_val_score(pipe, X, y, cv=cv, scoring="roc_auc")
print(scores.mean(), scores.std())

这段代码看起来平淡,但它和"先 SelectKBest().fit_transform(X, y) 再交叉验证"的区别,就是 AUC 0.81 与线上 0.74 的区别。

5.2 实体依赖:分组、面板与层次结构

当样本按实体(用户、设备、门店、患者)分组,且同一实体的多条记录同时出现在训练和测试中时,会发生"实体泄漏"。此时应使用 GroupKFold 或 StratifiedGroupKFold,并确保特征筛选同样在分组协议下进行。面板数据(同一实体多期观测)还需要考虑组内相关,普通交叉验证会低估方差。

更隐蔽的是实体级聚合特征:如"用户历史平均消费",这类特征在训练期由全历史算出,在线上只能由截至当前的历史算出,两者口径不一致,会造成训练-线上偏移(train-serving skew)。特征筛选阶段就应把这类特征单独标记,用"截至时点"的口径重算后再评估重要性。

Q3 的结论往往不是"选哪个方法",而是"先修协议"。协议错了,方法再高级也只是把错误算得更精致。

六、第四问:计算预算——从单机到分布式的成本账

计算预算决定"能跑几轮",而特征筛选的很多方法(包装法、稳定性选择、knockoff)本质上是"用算力换统计置信度"。给一个粗略的成本量级(模拟估算,基于常见单机 16 核 / 64GB 配置):

方法 计算复杂度(相对) n=105, p=103 量级耗时(模拟) 可并行性
单变量过滤 O(np) 秒级 高
L1 / 树重要性 O(np·iter) 分钟级 中
RFE O(p·fit) 小时级 中
稳定性选择(100 次子采样) O(100·fit) 小时级 高( embarrassingly parallel)
knockoff(p 次拟合) O(p·fit) 小时—天级 高

工程建议:把预算花在"重采样"而不是"更复杂的基模型"上。经验上,100 次子采样的稳定性选择,比换一个更贵的梯度提升模型带来的选择可靠性提升更大。分布式场景下,稳定性选择天然适合按子采样切分到多机,knockoff 也可按特征块并行。

关于大规模特征选择的分布式实现,可参考 Spark MLlib 的 Feature Selector 文档,以及 相关工程实践分享。

七、第五问:上线一致性——可复现、可解释、可监控

7.1 可复现:选择结果必须能重放

上线一致性要求特征筛选的每一步都可重放:数据快照版本、筛选器超参、随机种子、库版本。一个常被忽视的细节是随机性来源:稳定性选择的子采样、knockoff 的构造、甚至某些过滤法的抽样近似,都会引入随机性。必须固定种子并记录,否则"同样的代码跑出不同的特征集"会让线上排查变成玄学。

7.2 可解释:SHAP 是解释工具,不是因果工具

SHAP(Lundberg & Lee, 2017)在工业界几乎成了"特征重要性"的代名词,但它的定位需要说清楚:SHAP 解释的是"已训练模型在某样本上的输出如何被特征分摊",它不告诉你特征与标签是否有因果关系,也不保证跨模型一致。当特征高度相关时,SHAP 会把贡献在相关特征间分摊,导致每个都看起来"不太重要",这与树模型的 feature_importances_ 的"随机挑一个"问题同源。本文评述:SHAP 最适合的角色是"上线后的解释与监控",而不是"上线前的筛选依据"。用它做筛选,等于用解释性证据替代了选择证据,证据强度不匹配。

7.3 可监控:把筛选结果纳入漂移监控

上线后,应监控被选特征的分布漂移(PSI、KS)和重要性漂移。当某特征的 SHAP 均值在滚动窗口内显著变化时,触发重训或重筛。这把特征筛选从"一次性动作"变成了"持续过程",也是本文主线"证据裁决"的延伸——裁决需要定期复核。

八、六类工具的定位与"本文评述"

8.1 过滤法:便宜、可并行,但只提供边际证据

过滤法(方差阈值、卡方、互信息、相关系数、距离相关)的最大优点是快且与模型无关,适合做第一步粗筛。缺点是只看边际关联,对交互和条件独立无能为力。一个经典反例是 XOR 型关系:两个特征单独与标签无关,联合却完全决定标签,过滤法会把它们都扔掉。本文评述:过滤法的正确用法是"降维到可管理规模",而不是"做最终决定"。把它当终选,是很多项目翻车的起点。

8.2 包装法:性能导向,但方差与成本双高

RFE、前向/后向选择、Boruta 都属于这一类。它们直接用模型性能作为选择标准,证据强度较高,但计算成本随 p 增长快,且在小样本上方差大。Boruta 通过"影子特征"对比来判定重要性,比朴素 RFE 稳健,但在高相关特征上仍会犹豫。本文评述:包装法适合 p 中等、n 充裕、且对性能有强要求的场景;不适合作为超高维数据的第一步。

8.3 嵌入法:训练内生稀疏,性价比高

L1 正则、Elastic Net、树模型重要性都属于嵌入法。它们在训练过程中就完成了选择,成本可控。问题在于共线特征:L1 会随机保留一个,树重要性会在相关特征间分摊。本文评述:嵌入法是中等规模数据的主力,但必须配合"相关簇分析"——先把高度相关的特征聚成簇,再在簇内和簇间分别决策,而不是直接读重要性排序。

8.4 稳定性选择与 knockoff:目前统计上最严谨的一档

稳定性选择通过子采样频率控制选择稳定性;knockoff(Barber & Candès, 2015)通过构造"假特征"并控制 FDR,给出了有限样本下的假发现率保证。两者结合,是当前在"选择可靠性"上最有理论支撑的方案。本文评述:如果特征要进入受监管的模型(信贷、医疗、保险),knockoff 的 FDR 控制几乎是必选项;代价是计算量大,且对基学习器和特征分布有假设,需要在项目中实测其覆盖率是否达标。

8.5 SHAP:解释与监控的利器,筛选的配角

如前所述,SHAP 的强项是样本级归因和上线解释。把它用于筛选时,应只作为"复核信号":如果某特征被稳定性选择选中,但 SHAP 均值长期接近 0,值得复查是否存在口径问题。

8.6 AI 辅助筛选:先验有用,但不能替代证据

近两年出现了三类 AI 辅助筛选:LLM 基于特征名/描述给出语义先验(如"这个字段名像泄漏变量")、AutoML 在搜索空间中联合优化特征子集与模型、神经特征选择器(如基于门控或注意力)端到端学习特征权重。本文评述:LLM 先验在"识别明显不该进模型的特征"(如 ID、时间戳、后验字段)上有实用价值,但它的输出不可复现、可能幻觉,只能作为"候选生成器",最终裁决仍须回到统计证据。AutoML 与神经选择器在数据量大时有效,但可解释性和审计性是短板。

九、可落地的操作路径:五问决策树与代码骨架

9.1 五问决策树(文字版)

Step 0 协议检查:是否存在时间/实体依赖?→ 是:先建时间切分或 GroupKFold,所有筛选进 Pipeline。

Step 1 量级:p > 2000 或稀疏?→ 是:DF/方差硬过滤 + 单变量过滤粗筛到 p' ≈ min(2000, n/10)。

Step 2 样本:n/p' < 10?→ 是:L1/Elastic Net + 稳定性选择;否:可上包装法。

Step 3 预算:能否承担 100 次子采样?→ 是:稳定性选择定阈值;否:单次嵌入法 + 人工复核。

Step 4 一致性:需审计?→ 是:knockoff 控 FDR + 记录种子/版本;否:SHAP 复核 + 漂移监控。

9.2 代码骨架:一个可复用的筛选 Pipeline

import numpy as np
from sklearn.base import BaseEstimator, TransformerMixin
from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline
from sklearn.model_selection import StratifiedKFold

class StabilitySelector(BaseEstimator, TransformerMixin):
    """稳定性选择:子采样 + L1,按选中频率保留特征(示意实现)"""
    def __init__(self, n_subsample=100, sample_frac=0.5, threshold=0.7, C=0.1, random_state=42):
        self.n_subsample = n_subsample
        self.sample_frac = sample_frac
        self.threshold = threshold
        self.C = C
        self.random_state = random_state

    def fit(self, X, y):
        rng = np.random.RandomState(self.random_state)
        n, p = X.shape
        counts = np.zeros(p)
        for _ in range(self.n_subsample):
            idx = rng.choice(n, int(n * self.sample_frac), replace=False)
            clf = LogisticRegression(penalty="l1", solver="liblinear", C=self.C)
            clf.fit(X[idx], y[idx])
            counts += (np.abs(clf.coef_).ravel() > 1e-8).astype(int)
        self.freq_ = counts / self.n_subsample
        self.support_ = self.freq_ >= self.threshold
        return self

    def transform(self, X):
        return X[:, self.support_]

# 组装:粗筛 -> 稳定性选择 -> 模型
pipe = Pipeline([
    ("coarse", SelectKBest(f_classif, k=500)),
    ("stable", StabilitySelector(n_subsample=100, threshold=0.7)),
    ("clf", LogisticRegression(max_iter=1000)),
])
cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
# 注意:真实项目请按 Q3 换成 TimeSeriesSplit 或 GroupKFold

这个骨架的关键设计是:粗筛与精筛分离、筛选器全部实现 fit/transform 接口以便进 Pipeline、随机种子显式化。它可以直接套进交叉验证,避免泄漏。

十、常见陷阱清单与真实案例复盘

陷阱 表现 根因 对策
筛选泄漏 离线高、线上低 全量数据上算统计量 筛选器进 Pipeline
共线误杀 相关特征只留一个 L1/树重要性随机分摊 先聚类再簇内决策
时间戳泄漏 AUC 异常高 后验字段混入 特征血缘 + LLM 先验初筛
口径漂移 上线后缓慢衰减 训练/线上聚合口径不一致 截至时点重算 + 漂移监控
过度依赖 SHAP 筛掉真实有用特征 解释证据当选择证据 SHAP 只做复核

回到开头的风控案例:如果按五问主线走,Q3 会先发现时间依赖,强制时间切分;Q1 会把 3000 列粗筛到 500;Q2 的 n/p 会提示用稳定性选择而非单次 SelectKBest;Q5 会要求记录种子并监控漂移。四个动作下来,那 40 多个共线窗口特征大概率会在稳定性选择阶段被识别为"频率不稳定"而剔除。这不是某个方法更神,而是顺序对了。

十一、前沿预判:2025—2026 的 AI 辅助筛选

近三年的研究趋势可以概括为三条线:

  • LLM 作为特征先验与元数据理解器。利用特征名、描述、血缘信息,让 LLM 生成"可疑特征"候选,再由统计方法裁决。这条路在工程上已可行,但需要严格的"LLM 只提候选、不拍板"的边界设计。
  • 神经特征选择与可微稀疏。通过门控网络、L0 正则、注意力掩码端到端学习特征子集,在推荐与 NLP 场景已有落地。挑战在于可解释性与小样本稳定性。
  • 因果特征选择。从"预测有用"转向"干预下有用",用因果发现与不变性学习(invariant prediction)筛选跨环境稳定的特征,直接对应本文 Q3 的漂移问题。这条线在 2023—2025 年论文增长明显,但工程化仍早。

笔者认为,未来两年最现实的增量不在"新算法",而在"把五问主线产品化":把协议检查、量级分档、稳定性评估、FDR 控制、漂移监控串成一条可配置的流水线,让团队不再每次从 SelectKBest 重新发明轮子。AI 辅助筛选在这个框架里的位置,是"候选生成 + 元数据审计",而不是替代统计裁决。

十二、结语:把"选特征"变成"写清楚裁决理由"

特征筛选的成熟标志,不是你会用多少种方法,而是你能对每一个被保留、被剔除的特征,写出一句有证据支撑的理由:它是在什么协议下、用什么证据、以多强的置信度被裁决的。五问主线(量级 → 样本 → 依赖 → 预算 → 一致性)的价值,就在于它强迫你在动手之前先回答这五个问题,从而把"默认跑一遍"变成"有据可依的裁决"。

方法会继续更新,工具会继续变多,但这条主线不会过时——因为它锚定的不是算法,而是数据生成过程与上线约束这两个不随工具变化的事实。

主要参考文献

[1] Guyon, I., & Elisseeff, A. (2003). An introduction to variable and feature selection. JMLR, 3, 1157–1182.

[2] Fan, J., & Lv, J. (2008). Sure independence screening for ultrahigh dimensional feature space. JRSS-B, 70(5), 849–911.

[3] Meinshausen, N., & Bühlmann, P. (2010). Stability selection. JRSS-B, 72(4), 417–473.

[4] Barber, R. F., & Candès, E. J. (2015). Controlling the false discovery rate via knockoffs. Annals of Statistics, 43(5), 2055–2085.

[5] Lundberg, S. M., & Lee, S.-I. (2017). A unified approach to interpreting model predictions. NeurIPS.

[6] Kursa, M. B., & Rudnicki, W. R. (2010). Feature selection with the Boruta package. Journal of Statistical Software, 36(11), 1–13.

[7] 周志华. (2016). 《机器学习》. 清华大学出版社.(特征选择章节)

[8] scikit-learn developers. (2024). Feature selection. scikit-learn User Guide. https://scikit-learn.org/stable/modules/feature_selection.html

[9] 模拟数据说明:文中耗时量级表为基于常见单机配置(16 核 / 64GB)的模拟估算,非实测基准,仅用于量级参考;风控案例为脱敏整合的示意场景,不指向任何具体机构。

文章声明

本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。

内容仅供学习参考。如需引用,请以原始文献为准。

全文约 12800 字 | 参考文献 62 篇(主要 9 篇)

🔒 复制本站文章内容需登录并达到 L3。当前:未登录

分享到

💬
微信
📷
朋友圈
🐧
QQ好友
🌐
QQ空间
👁
微博
📌
钉钉
🔗
复制链接
📑
复制图文

微信扫一扫分享

打开微信「扫一扫」,扫描二维码后在微信中分享给好友或朋友圈。

💬 评论 (0)

评论功能已关闭

⏸️ 本站暂未开放评论功能,不能进行评论,此为规划的后续开发预留
首页| 关于本网| 网站声明| 联系我们| 网站纠错| 服务| 网站地图
黔ICP备19010680号-1  |  邮箱:six528528@163.com
贵公网安备 52010302001819号
Copyright 2019-2026 http://www.databrush.com/ All rights reserved.
QQ
QQ扫一扫
Logo
DBN数据刷