Skip to content

Latest commit

 

History

History
145 lines (127 loc) · 8.62 KB

File metadata and controls

145 lines (127 loc) · 8.62 KB

machine_learning_bymyself

个人机器学习自学实践项目,基于 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 — 随机森林调参实战

课程作业(MachineLearningCourseWork)

  • HomePricePredict-master — 房价预测完整项目(含岭回归、随机森林集成、XGBoost 等多种方法)
  • SVM-master — SVM 算法手写实现
  • 多个数据集的独立实验 notebook(鸢尾花、红酒、泰坦尼克号、乳腺癌、桥梁监测等)

主要依赖

  • Python 3.x
  • scikit-learn
  • numpy
  • pandas
  • matplotlib
  • graphviz(决策树可视化)
  • xgboost(部分课程作业)
  • jupyter notebook

参考资源

学习内容主要参考「菜菜的 sklearn 课堂」,配套 PDF 教材存放于 菜菜的pdf/ 目录。