scikit-learn
使用 Python 和 scikit-learn 进行机器学习。在进行监督学习(分类、回归)、无监督学习(聚类、降维)、模型评估、超参数调优、数据预处理或构建机器学习管道时使用。提供关于算法、预处理技术、管道以及最佳实践的全面参考文档。
Scikit-learn 技能 - Python 机器学习完整指南
技能概述
Scikit-learn 技能提供基于 Python 标准机器学习库 scikit-learn 的全面指导,涵盖分类、回归、聚类、降维、预处理、模型评估和生产级 ML 管道构建。
适用场景
1. 构建监督学习模型
当您需要进行分类或回归任务时,这个技能提供从算法选择到模型评估的完整工作流。支持线性模型、决策树、随机森林、梯度提升、SVM 等多种算法,帮助您解决垃圾邮件检测、图像分类、欺诈检测、价格预测等实际问题。
2. 无监督学习与数据探索
适用于客户细分、异常检测、数据可视化等场景。提供 K-Means、DBSCAN、高斯混合模型等聚类算法,以及 PCA、t-SNE 等降维技术,帮助您从无标签数据中发现有价值的模式。
3. 生产级机器学习管道
针对需要将模型投入生产的场景,提供 Pipeline、ColumnTransformer 等工具构建可重现的工作流,避免数据泄漏,支持超参数调优和交叉验证,确保训练和预测的一致性。
核心功能
1. 丰富的算法库支持
提供业界最全面的经典机器学习算法集合,包括逻辑回归、随机森林、梯度提升、支持向量机、K 近邻等监督学习方法,以及各种聚类和降维算法。每种算法都配有详细的参数说明和最佳实践。
2. 完整的数据预处理工具链
涵盖特征缩放(StandardScaler、MinMaxScaler)、分类变量编码(OneHotEncoder、OrdinalEncoder)、缺失值处理(SimpleImputer、KNNImputer)等功能,支持数值型和分类型混合数据的自动化处理流程。
3. 模型评估与优化
提供交叉验证策略(KFold、StratifiedKFold、TimeSeriesSplit)、超参数调优工具(GridSearchCV、RandomizedSearchCV)和全面的评估指标(准确率、F1 分数、ROC AUC 等),帮助您客观比较模型性能并找到最佳参数配置。
常见问题
scikit-learn 和 sklearn 有什么区别?
scikit-learn 是库的名称,sklearn 是导入时使用的包名。在 PyPI 上应安装 scikit-learn 包(不是已弃用的 sklearn 包),但在代码中使用 import sklearn 导入。当前技能支持 scikit-learn 1.7+ 版本,需要 Python 3.11 或更高版本。
如何选择合适的分类算法?
算法选择取决于数据规模、特征类型和问题要求。对于中小型数据集,随机森林和梯度提升通常表现良好;需要高可解释性时可选择逻辑回归;文本数据可考虑线性 SVM 或朴素贝叶斯;大型数据集可使用 SGDClassifier。技能提供了算法选择指南和交叉验证比较工具。
Pipeline 的优势是什么?
Pipeline 将预处理和模型训练步骤串联在一起,避免交叉验证中的数据泄漏问题,简化代码维护,支持联合超参数调优,确保训练和预测阶段的一致性。在生产环境中始终建议使用 Pipeline,特别是处理数值型和分类型混合数据时配合 ColumnTransformer 使用。