scikit-learn 知识结构与学习路线
模块说明
Supervised Learning (监督学习)
包含各种监督学习算法,用于解决分类和回归问题。
- Linear Models: 线性模型,简单高效,适用于线性可分的数据。
- Kernel Ridge Regression: 核岭回归,适用于非线性回归问题。
- SVM: 支持向量机,强大的分类和回归算法,在高维空间表现出色。
- SGD: 随机梯度下降,用于训练各种模型,特别是大规模数据集。
- Nearest Neighbors: K近邻算法,简单易懂,适用于分类和回归。
- Gaussian Processes: 高斯过程,强大的概率模型,适用于小规模数据集。
- Decision Trees: 决策树,易于理解和解释,但容易过拟合。
- Ensemble Methods: 集成学习方法,通过组合多个模型来提高预测性能。
- Naive Bayes: 朴素贝叶斯,简单高效的分类算法,适用于文本分类。
- Multi-output Algorithms: 多输出算法,用于解决多标签分类和多输出回归问题。
- Feature Selection: 特征选择,用于选择最相关的特征,提高模型性能和可解释性。
- Semi-supervised Learning: 半监督学习,利用少量标记数据和大量未标记数据进行学习。
- Probability Calibration: 概率校准,调整模型输出的概率值,使其更接近真实概率。
Unsupervised Learning (无监督学习)
包含各种无监督学习算法,用于发现数据中的隐藏结构。
- Gaussian Mixture Models: 高斯混合模型,用于聚类和密度估计。
- Manifold Learning: 流形学习,用于降维和可视化高维数据。
- Clustering: 聚类,将数据分成不同的组,发现数据中的相似性。
- Biclustering: 双聚类,同时对行和列进行聚类,发现数据中的复杂关系。
- Matrix Factorization: 矩阵分解,用于降维和推荐系统。
- Covariance Estimation: 协方差估计,用于估计数据的协方差矩阵。
- Novelty & Outlier Detection: 新颖性和异常检测,识别数据中的异常值。
- Density Estimation: 密度估计,估计数据的概率密度函数。
Model Selection & Evaluation (模型选择与评估)
用于选择最佳模型和评估模型性能。
Inspection (检查)
用于理解模型预测结果和特征重要性。
Dataset Transformations (数据集转换)
用于预处理和转换数据,使其适合模型训练。
Dataset Loading Utilities (数据集加载工具)
用于加载各种数据集,方便进行实验和研究。
Computing with scikit-learn (使用scikit-learn进行计算)
用于优化计算性能和处理大规模数据。
学习路线
第一阶段:机器学习基础强化(2周)
核心目标: 掌握监督学习核心算法和数据处理
-
监督学习核心模块(6天)
- 必修:线性模型(2天)→ SGD(1天)→ 决策树(1天)→ 集成方法(2天)
- 选修:SVM(拓展学习)、特征选择(结合项目实践)
- 关键点:理解正则化、损失函数、梯度下降原理(为神经网络打基础)
-
数据工程基础(4天)
- 数据集加载与预处理(1天)
- 数据集转换(2天):标准化/归一化、缺失值处理、特征编码
- 特征工程实践(1天):结合特征选择模块
-
模型评估体系(3天)
- 交叉验证(1天)
- 性能指标(1天):准确率、F1-score、ROC/AUC
- 超参数调优(1天):网格搜索/随机搜索
第二阶段:深度学习过渡准备(1.5周)
核心目标: 建立神经网络认知框架
-
关键概念衔接(3天)
- 从线性回归→逻辑回归→感知机→多层感知机的演进
- SGD在不同模型中的实现对比
- 决策树与神经网络的特征提取差异
-
无监督学习精要(3天)
- 聚类(K-Means/DBSCAN)→ 降维(PCA/t-SNE)
- 可视化实践:使用Manifold Learning处理高维数据
-
TensorFlow预备专题(2天)
- 对比学习:scikit-learn与TF的API设计差异
- 计算优化:内存管理、并行计算基础
- 概率校准:理解概率输出与神经网络softmax层的关联
第三阶段:综合实践与过渡(1周)
核心项目建议:
-
端到端分类项目(3天)
- 从数据加载到模型部署完整流程
- 要求包含特征工程、集成模型、模型解释
-
神经网络对比实验(2天)
- 用scikit-learn的MLPClassifier与TF实现对比
- 重点分析:训练速度、可扩展性、可视化差异
-
模型转换练习(1天)
- 将scikit-learn管道转换为TF实现
- 体验框架差异:静态图 vs 动态图
关键路径优化建议
-
优先级矩阵:
- 核心重点:线性模型、集成方法、数据预处理、模型评估
- 次级重点:SVM、特征选择、聚类
- 可选内容:核方法、双聚类、概率校准
-
时间分配技巧:
- 每日2小时理论 + 1小时coding实践
- 每周保留1天项目日进行综合练习
- 使用sklearn的Pipeline和ColumnTransformer提升效率
-
TensorFlow衔接策略:
- 在学习SGD时对比TF的优化器实现
- 用决策树特征重要性理解神经网络特征提取
- 通过模型保存/加载机制过渡到TF SavedModel
学习资源推荐
-
官方文档优先:
- sklearn中文文档(1.1版本)
- TF官方指南(重点学习Keras API)
-
经典教材章节:
- 《Hands-On ML》第1-7章
- 《Python机器学习》第2-4章
-
实战平台:
- Kaggle的Titanic/房价预测比赛
- Colab的TPU加速实验
这个路线通过"核心模块聚焦→概念衔接→框架对比"的三段式设计,能够在3-4周内建立完整的机器学习知识体系,同时保持与TensorFlow学习的高度连贯性。建议每完成一个模块都进行知识映射(如:决策树的特征划分→神经网络的激活函数作用),这样在过渡到深度学习时会自然形成知识迁移能力。