用户指南# 1. 监督学习 1.1. 线性模型 1.1.1. 普通最小二乘法 1.1.2. 岭回归和分类 1.1.3. Lasso 1.1.4. 多任务 Lasso 1.1.5. 弹性网络 1.1.6. 多任务弹性网络 1.1.7. 最小角回归 1.1.8. LARS Lasso 1.1.9. 正交匹配追踪 (OMP) 1.1.10. 贝叶斯回归 1.1.11. 逻辑回归 1.1.12. 广义线性模型 1.1.13. 随机梯度下降 - SGD 1.1.14. 感知器 1.1.15. 被动攻击算法 1.1.16. 稳健回归:异常值和建模误差 1.1.17. 分位数回归 1.1.18. 多项式回归:使用基函数扩展线性模型 1.2. 线性和二次判别分析 1.2.1. 使用线性判别分析进行降维 1.2.2. LDA 和 QDA 分类器的数学公式 1.2.3. LDA 降维的数学公式 1.2.4. 收缩和协方差估计器 1.2.5. 估计算法 1.3. 核岭回归 1.4. 支持向量机 1.4.1. 分类 1.4.2. 回归 1.4.3. 密度估计,新颖性检测 1.4.4. 复杂度 1.4.5. 实践使用技巧 1.4.6. 核函数 1.4.7. 数学公式 1.4.8. 实现细节 1.5. 随机梯度下降 1.5.1. 分类 1.5.2. 回归 1.5.3. 在线单类 SVM 1.5.4. 用于稀疏数据的随机梯度下降 1.5.5. 复杂度 1.5.6. 停止标准 1.5.7. 实践使用技巧 1.5.8. 数学公式 1.5.9. 实现细节 1.6. 最近邻 1.6.1. 无监督最近邻 1.6.2. 最近邻分类 1.6.3. 最近邻回归 1.6.4. 最近邻算法 1.6.5. 最近质心分类器 1.6.6. 最近邻转换器 1.6.7. 邻域成分分析 1.7. 高斯过程 1.7.1. 高斯过程回归 (GPR) 1.7.2. 高斯过程分类 (GPC) 1.7.3. GPC 示例 1.7.4. 高斯过程的核 1.8. 交叉分解 1.8.1. PLSCanonical 1.8.2. PLSSVD 1.8.3. PLSRegression 1.8.4. 典型相关分析 1.9. 朴素贝叶斯 1.9.1. 高斯朴素贝叶斯 1.9.2. 多项式朴素贝叶斯 1.9.3. 补充朴素贝叶斯 1.9.4. 伯努利朴素贝叶斯 1.9.5. 类别朴素贝叶斯 1.9.6. 朴素贝叶斯模型的离线拟合 1.10. 决策树 1.10.1. 分类 1.10.2. 回归 1.10.3. 多输出问题 1.10.4. 复杂度 1.10.5. 实践使用技巧 1.10.6. 树算法:ID3、C4.5、C5.0 和 CART 1.10.7. 数学公式 1.10.8. 缺失值支持 1.10.9. 最小成本复杂度剪枝 1.11. 集成:梯度提升、随机森林、装袋、投票、堆叠 1.11.1. 梯度提升树 1.11.2. 随机森林和其他随机树集成 1.11.3. 装袋元估计器 1.11.4. 投票分类器 1.11.5. 投票回归器 1.11.6. 堆叠泛化 1.11.7. AdaBoost 1.12. 多类和多输出算法 1.12.1. 多类分类 1.12.2. 多标签分类 1.12.3. 多类多输出分类 1.12.4. 多输出回归 1.13. 特征选择 1.13.1. 删除方差低的特征 1.13.2. 单变量特征选择 1.13.3. 递归特征消除 1.13.4. 使用 SelectFromModel 进行特征选择 1.13.5. 顺序特征选择 1.13.6. 将特征选择作为管道的一部分 1.14. 半监督学习 1.14.1. 自训练 1.14.2. 标签传播 1.15. 等距回归 1.16. 概率校准 1.16.1. 校准曲线 1.16.2. 校准分类器 1.16.3. 用法 1.17. 神经网络模型(监督) 1.17.1. 多层感知器 1.17.2. 分类 1.17.3. 回归 1.17.4. 正则化 1.17.5. 算法 1.17.6. 复杂度 1.17.7. 实践使用技巧 1.17.8. 使用 warm_start 进行更多控制 2. 无监督学习 2.1. 高斯混合模型 2.1.1. 高斯混合 2.1.2. 变分贝叶斯高斯混合 2.2. 流形学习 2.2.1. 简介 2.2.2. Isomap 2.2.3. 局部线性嵌入 2.2.4. 修改后的局部线性嵌入 2.2.5. 海森特征映射 2.2.6. 谱嵌入 2.2.7. 局部切空间对齐 2.2.8. 多维尺度 (MDS) 2.2.9. t 分布随机邻域嵌入 (t-SNE) 2.2.10. 实用技巧 2.3. 聚类 2.3.1. 聚类方法概述 2.3.2. K-means 2.3.3. 亲和传播 2.3.4. 均值漂移 2.3.5. 谱聚类 2.3.6. 层次聚类 2.3.7. DBSCAN 2.3.8. HDBSCAN 2.3.9. OPTICS 2.3.10. BIRCH 2.3.11. 聚类性能评估 2.4. 双聚类 2.4.1. 谱共聚类 2.4.2. 谱双聚类 2.4.3. 双聚类评估 2.5. 将信号分解为成分(矩阵分解问题) 2.5.1. 主成分分析 (PCA) 2.5.2. 核主成分分析 (kPCA) 2.5.3. 截断奇异值分解和潜在语义分析 2.5.4. 字典学习 2.5.5. 因子分析 2.5.6. 独立成分分析 (ICA) 2.5.7. 非负矩阵分解 (NMF 或 NNMF) 2.5.8. 潜在狄利克雷分配 (LDA) 2.6. 协方差估计 2.6.1. 经验协方差 2.6.2. 收缩协方差 2.6.3. 稀疏逆协方差 2.6.4. 稳健协方差估计 2.7. 新颖性和异常值检测 2.7.1. 异常值检测方法概述 2.7.2. 新颖性检测 2.7.3. 异常值检测 2.7.4. 使用局部异常因子进行新颖性检测 2.8. 密度估计 2.8.1. 密度估计:直方图 2.8.2. 核密度估计 2.9. 神经网络模型(无监督) 2.9.1. 受限玻尔兹曼机 3. 模型选择和评估 3.1. 交叉验证:评估估计器性能 3.1.1. 计算交叉验证指标 3.1.2. 交叉验证迭代器 3.1.3. 关于洗牌的说明 3.1.4. 交叉验证和模型选择 3.1.5. 置换检验分数 3.2. 调整估计器的超参数 3.2.1. 穷举网格搜索 3.2.2. 随机参数优化 3.2.3. 使用连续减半搜索最佳参数 3.2.4. 参数搜索技巧 3.2.5. 蛮力参数搜索的替代方案 3.3. 调整类预测的决策阈值 3.3.1. 决策阈值的后调整 3.4. 指标和评分:量化预测质量 3.4.1. scoring 参数:定义模型评估规则 3.4.2. 分类指标 3.4.3. 多标签排序指标 3.4.4. 回归指标 3.4.5. 聚类指标 3.4.6. 虚拟估计器 3.5. 验证曲线:绘制分数以评估模型 3.5.1. 验证曲线 3.5.2. 学习曲线 4. 检查 4.1. 部分依赖和个体条件期望图 4.1.1. 部分依赖图 4.1.2. 个体条件期望 (ICE) 图 4.1.3. 数学定义 4.1.4. 计算方法 4.2. 置换特征重要性 4.2.1. 置换重要性算法概述 4.2.2. 与树中基于杂质的重要性之间的关系 4.2.3. 在强相关特征上的误导性值 5. 可视化 5.1. 可用的绘图实用程序 5.1.1. 显示对象 6. 数据集转换 6.1. 管道和复合估计器 6.1.1. 管道:链接估计器 6.1.2. 转换回归中的目标 6.1.3. FeatureUnion:复合特征空间 6.1.4. 用于异构数据的 ColumnTransformer 6.1.5. 可视化复合估计器 6.2. 特征提取 6.2.1. 从字典中加载特征 6.2.2. 特征哈希 6.2.3. 文本特征提取 6.2.4. 图像特征提取 6.3. 预处理数据 6.3.1. 标准化,或均值去除和方差缩放 6.3.2. 非线性变换 6.3.3. 规范化 6.3.4. 编码分类特征 6.3.5. 离散化 6.3.6. 缺失值的插补 6.3.7. 生成多项式特征 6.3.8. 自定义转换器 6.4. 缺失值的插补 6.4.1. 单变量与多变量插补 6.4.2. 单变量特征插补 6.4.3. 多变量特征插补 6.4.4. 最近邻插补 6.4.5. 保持特征数量不变 6.4.6. 标记插补值 6.4.7. 处理 NaN 值的估计器 6.5. 无监督降维 6.5.1. PCA:主成分分析 6.5.2. 随机投影 6.5.3. 特征聚合 6.6. 随机投影 6.6.1. 约翰逊-林登斯特劳斯引理 6.6.2. 高斯随机投影 6.6.3. 稀疏随机投影 6.6.4. 逆变换 6.7. 核近似 6.7.1. 用于核近似的 Nystroem 方法 6.7.2. 径向基函数核 6.7.3. 加性卡方核 6.7.4. 偏卡方核 6.7.5. 通过张量草图进行多项式核近似 6.7.6. 数学细节 6.8. 成对度量、亲和力和核 6.8.1. 余弦相似度 6.8.2. 线性核 6.8.3. 多项式核 6.8.4. Sigmoid 核 6.8.5. RBF 核 6.8.6. 拉普拉斯核 6.8.7. 卡方核 6.9. 转换预测目标 (y) 6.9.1. 标签二值化 6.9.2. 标签编码 7. 数据集加载实用程序 7.1. 玩具数据集 7.1.1. 鸢尾花卉数据集 7.1.2. 糖尿病数据集 7.1.3. 手写数字光学识别数据集 7.1.4. Linnerrud 数据集 7.1.5. 葡萄酒识别数据集 7.1.6. 威斯康星州乳腺癌(诊断)数据集 7.2. 真实世界数据集 7.2.1. 奥利维蒂人脸数据集 7.2.2. 20 个新闻组文本数据集 7.2.3. 野外标记人脸 (LFW) 人脸识别数据集 7.2.4. 森林覆盖类型 7.2.5. RCV1 数据集 7.2.6. Kddcup 99 数据集 7.2.7. 加利福尼亚州住房数据集 7.2.8. 物种分布数据集 7.3. 生成的数据集 7.3.1. 用于分类和聚类的生成器 7.3.2. 用于回归的生成器 7.3.3. 用于流形学习的生成器 7.3.4. 用于分解的生成器 7.4. 加载其他数据集 7.4.1. 示例图像 7.4.2. svmlight/libsvm 格式的数据集 7.4.3. 从 openml.org 存储库下载数据集 7.4.4. 从外部数据集加载 8. 使用 scikit-learn 进行计算 8.1. 扩展计算能力的策略:更大数据 8.1.1. 使用核心外学习扩展实例 8.2. 计算性能 8.2.1. 预测延迟 8.2.2. 预测吞吐量 8.2.3. 技巧和窍门 8.3. 并行性、资源管理和配置 8.3.1. 并行性 8.3.2. 配置开关 9. 模型持久化 9.1. 工作流程概述 9.1.1. 训练和持久化模型 9.2. ONNX 9.3. skops.io 9.4. pickle、joblib 和 cloudpickle 9.5. 安全性和可维护性限制 9.5.1. 在生产环境中复制训练环境 9.5.2. 提供模型工件 9.6. 总结要点 10. 常见陷阱和推荐实践 10.1. 不一致的预处理 10.2. 数据泄露 10.2.1. 如何避免数据泄露 10.2.2. 预处理期间的数据泄露 10.3. 控制随机性 10.3.1. 使用 None 或 RandomState 实例,以及对 fit 和 split 的重复调用 10.3.2. 常见陷阱和细微差别 10.3.3. 一般建议 11. 调度 11.1. 数组 API 支持(实验性) 11.1.1. 示例用法 11.1.2. 支持 Array API 兼容的输入 11.1.3. 常见的估计器检查 12. 选择合适的估计器 13. 外部资源、视频和演讲 13.1. 新手入门科学 Python? 13.2. 外部教程 13.3. 视频 开发中# 1. 元数据路由