用途:该技能用于系统掌握机器学习建模的基础环节,从原始数据到训练出可评估的模型,核心围绕 scikit-learn 工作流。
主要能力:
- 数据预处理:处理缺失值(SimpleImputer)、特征缩放(StandardScaler、MinMaxScaler)、类别编码(OneHotEncoder、LabelEncoder)、离群值处理(IQR 或 Z-score),并可用 ColumnTransformer 组合数值与类别特征的预处理。
- 特征工程:多项式特征(PolynomialFeatures)、分箱(KBinsDiscretizer)、对数变换(np.log1p)、特征交互(x1*x2)。
- 模型评估:cross_val_score 交叉验证、classification_report 分类报告,支持 f1_weighted 等指标。
- 交叉验证策略:KFold、StratifiedKFold、TimeSeriesSplit、GroupKFold,按数据特点选择。
使用方式:典型流程为先加载并切分数据(train_test_split,可用 stratify 分层),再用 Pipeline 串联预处理与分类器,然后 fit 训练、score 或 predict 评估。示例命令与代码保持原样,例如: from sklearn.model_selection import train_test_split pipeline = Pipeline([('scaler', StandardScaler()), ('classifier', RandomForestClassifier(random_state=42))]) pipeline.fit(X_train, y_train)
最佳实践:在任何预处理前先切分数据;用 Pipeline 保证可复现;分类任务做分层切分;记录预处理参数;对特征工程代码做版本管理;避免在测试数据上 fit、避免数据泄漏、非平衡数据不要只看准确率、不要硬编码参数。
适用场景:适合需要搭建规范机器学习流水线的学习者与开发者,尤其涉及表格数据的分类任务。
限制:资料未提供安装步骤、价格、平台支持范围或具体效果数据。故障排查建议包括:预测出现 NaN 时检查是否加入 SimpleImputer;形状不匹配时用 ColumnTransformer;独热特征过多导致内存问题时用 max_categories 或哈希;交叉验证方差过大时检查预处理顺序以防泄漏。