SuperAPI AI 工具集

engineering-ml-features

数据与分析

查看项目

更新于 10-15 23:58

技能介绍

用途:用于创建、转换和选择能提升模型表现的特征,覆盖类别编码、数值缩放、日期时间工程、文本特征以及构建防泄漏流水线。

主要能力:类别编码(低基数用独热,高基数用目标编码或频率编码,有序类别用序数编码);数值缩放与变换(StandardScaler、RobustScaler、MinMaxScaler、PowerTransformer、QuantileTransformer);日期时间特征(提取年月日时、sin/cos 周期编码、时长特征);文本特征(TF-IDF、CountVectorizer、sentence-transformers 嵌入、文本统计);特征选择(互信息、RFE、L1、树重要性);用 sklearn.pipeline 与 ColumnTransformer 组合可复现、交叉验证安全的流水线。

使用方式:按任务选择工具,如类别编码用 category_encoders,缩放用 sklearn.preprocessing,文本向量化用 sklearn.feature_extraction.text,嵌入用 sentence-transformers。核心规则是仅在训练集上 fit,测试集只 transform,例如 scaler.fit_transform(X_train) 与 scaler.transform(X_test);用 OneHotEncoder(handle_unknown='ignore') 处理未知类别;用 get_feature_names_out() 追踪特征名;用 cross_val_score 配合流水线保证每折内预处理。

适用场景:类别变量需编码、数值需缩放、日期时间需转换、文本需数值化、需防止特征工程中的数据泄漏、需从大量特征中筛选、需构建可复用的生产级预处理流水线。

限制与注意:不适用于通用数据探索、模型评估与选择、构建交互式数据应用、笔记本环境配置。常见反模式包括在全量数据上拟合预处理器、对高基数特征独热编码、忽略距离类模型的缩放、无领域依据造特征、不做训练测试分布校验、目标编码不加平滑、时间特征忘记周期编码。详细实现见 references 下的分类编码、日期时间特征、文本特征、特征选择参考文档。