个人机器学习自学实践项目,基于 sklearn(scikit-learn)框架,涵盖经典机器学习算法的学习笔记、代码实现与实战案例。所有笔记均以 Jupyter Notebook 形式编写,包含详细的代码注释与原理说明。
machine_learning_bymyself-main/
│
├── README.md # 项目说明文档
│
├── datasets/ # 数据集目录
│ ├── train.csv / test.csv # 泰坦尼克号数据集
│ ├── digit-recognizor-train.csv # 手写数字识别训练集
│ ├── digit-recognizor-test.csv # 手写数字识别测试集
│ ├── rankingcard-training.csv # 评分卡建模训练集
│ ├── rankingcard-test.csv # 评分卡建模测试集
│ ├── Pricetrain.csv / Pricetest.csv # 房价数据集
│ ├── datingTestSet.txt # 约会网站配对数据集
│ ├── weatherAUS5000.csv # 澳大利亚天气数据集
│ ├── Narrativedata.csv # 叙事数据集(特征工程用)
│ ├── Cityclimate.csv # 城市气候数据
│ ├── cityll.csv / samplecity.csv # 城市经纬度数据
│ └── 202005数据.xls # 其他数据文件
│
├── images/ # 学习笔记配套截图(1~278张)
├── img/ # 补充图片资源
│
├── 菜菜的pdf/ # 参考教材 PDF(菜菜的sklearn课堂)
│ ├── 开始机器学习之前:配置开发环境.pdf
│ ├── 决策树 full version.pdf
│ ├── 随机森林 full version.pdf
│ ├── 线性回归大家族 full version.pdf
│ ├── 逻辑回归 full version.pdf
│ ├── 降维算法 full version.pdf
│ ├── 聚类算法KMeans EDU version.pdf
│ ├── 数据预处理与特征工程 full version.pdf
│ ├── SVM (上) full version.pdf
│ ├── SVM (下) full version.pdf
│ ├── 朴素贝叶斯 full version.pdf
│ └── XGBoost full version.pdf
│
├── MachineLearningCourseWork/ # 机器学习课程作业
│ ├── HomePricePredict-master/ # 房价预测项目
│ │ ├── home_price1.ipynb # 房价预测主 notebook
│ │ ├── train.csv / test.csv # 训练与测试数据
│ │ ├── 字段说明.txt # 数据字段说明
│ │ ├── ensemble_ridge_randomForest.csv # 岭回归+随机森林集成结果
│ │ ├── xgboost_submission.csv # XGBoost 提交结果
│ │ ├── mysubmission.csv # 自定义提交结果
│ │ └── 结果.csv # 最终预测结果
│ │
│ ├── SVM-master/ # SVM 手写实现
│ │ └── SVM/
│ │ ├── SVM.py # SVM 算法实现
│ │ ├── Test.py # 测试脚本
│ │ ├── trainingDigits.zip # 手写数字训练集
│ │ ├── testDigits.zip # 手写数字测试集
│ │ └── wine.txt # 红酒数据集
│ │
│ ├── iris.ipynb # 鸢尾花数据集实验
│ ├── 鸢尾花数据集.ipynb # 鸢尾花数据集分析
│ ├── 红酒数据集.ipynb # 红酒数据集实验
│ ├── 泰坦尼克号数据集.ipynb # 泰坦尼克号数据集分析
│ ├── 乳腺癌数据集.ipynb # 乳腺癌数据集实验
│ ├── 房屋价格数据集.ipynb # 房价数据集分析
│ ├── 房屋价格2.ipynb # 房价数据集进阶
│ ├── 澳大利亚天气数据集.ipynb # 澳大利亚天气数据集
│ ├── 约会网站配对效果数据集.ipynb # 约会网站配对分析
│ ├── 桥梁应力监测数据(间隔短时).ipynb # 桥梁应力监测数据
│ └── 桥梁温度监测数据(间隔5分钟).ipynb # 桥梁温度监测数据
│
│── KNN.ipynb # K近邻算法
├── 线性回归.ipynb # 线性回归
├── 决策树中的分类树1.ipynb # 决策树 — 分类树基础
├── 决策树中的回归树2.ipynb # 决策树 — 回归树
├── 决策树中的分类树2(泰坦尼克号幸存者的预测).ipynb # 决策树 — 泰坦尼克号幸存者预测
├── 随机森林1(分类).ipynb # 随机森林 — 分类
├── 随机森林2(回归).ipynb # 随机森林 — 回归
├── 随机森林实例:在乳腺癌数据上的调参.ipynb # 随机森林 — 乳腺癌数据集调参实战
├── 机器学习中调参的基本思想.ipynb # 调参方法论
├── 逻辑回归1.ipynb # 逻辑回归基础
├── 逻辑回归2-案例:用逻辑回归制作评分卡.ipynb # 逻辑回归 — 信用评分卡实战
├── 聚类算法KMeans.ipynb # KMeans 聚类算法
├── 聚类算法案例:聚类算法用于降维,KMeans的矢量量化应用.ipynb # KMeans 矢量量化案例
├── 支持向量机SVM(上).ipynb # SVM 理论与基础
├── 支持向量机SVM(下).ipynb # SVM 进阶
├── 降维算法1-PCA.ipynb # PCA 降维算法原理
├── 降维算法2案例-PCA对手写数字数据集的降维.ipynb # PCA 手写数字降维案例
├── 特征工程1-数据预处理.ipynb # 特征工程 — 数据预处理
├── 特征工程2-特征选择 feature_selection.ipynb # 特征工程 — 特征选择
├── 深度学习入门:sklearn中的神经网络.ipynb # sklearn 神经网络入门
└── 附加学习:Python爬虫基础-莫烦教学.ipynb # Python 爬虫基础
| 算法 | Notebook | 说明 |
|---|---|---|
| KNN | KNN.ipynb |
K近邻算法原理与实现 |
| 线性回归 | 线性回归.ipynb |
线性回归模型 |
| 逻辑回归 | 逻辑回归1.ipynb / 逻辑回归2-案例:用逻辑回归制作评分卡.ipynb |
逻辑回归原理及信用评分卡实战 |
| 决策树 | 决策树中的分类树1.ipynb 等 |
分类树、回归树及泰坦尼克号预测案例 |
| 随机森林 | 随机森林1(分类).ipynb 等 |
随机森林分类/回归、乳腺癌数据集调参 |
| SVM | 支持向量机SVM(上).ipynb / 支持向量机SVM(下).ipynb |
支持向量机理论与实战 |
| 算法 | Notebook | 说明 |
|---|---|---|
| KMeans | 聚类算法KMeans.ipynb |
KMeans 聚类算法 |
| PCA | 降维算法1-PCA.ipynb / 降维算法2案例-PCA对手写数字数据集的降维.ipynb |
主成分分析降维及手写数字案例 |
特征工程1-数据预处理.ipynb— 数据清洗、缺失值处理、标准化等特征工程2-特征选择 feature_selection.ipynb— 过滤法、包装法、嵌入法等特征选择技术
机器学习中调参的基本思想.ipynb— 学习曲线、网格搜索等调参方法随机森林实例:在乳腺癌数据上的调参.ipynb— 随机森林调参实战
- HomePricePredict-master — 房价预测完整项目(含岭回归、随机森林集成、XGBoost 等多种方法)
- SVM-master — SVM 算法手写实现
- 多个数据集的独立实验 notebook(鸢尾花、红酒、泰坦尼克号、乳腺癌、桥梁监测等)
- Python 3.x
- scikit-learn
- numpy
- pandas
- matplotlib
- graphviz(决策树可视化)
- xgboost(部分课程作业)
- jupyter notebook
学习内容主要参考「菜菜的 sklearn 课堂」,配套 PDF 教材存放于 菜菜的pdf/ 目录。