跳转至

机器学习测试用例说明

本目录包含机器学习算法的 pytest 测试用例。

📁 目录结构

Text Only
机器学习/tests/
├── conftest.py            # pytest配置和共享fixtures
├── test_ml_algorithms.py  # 机器学习算法测试
└── README.md              # 本文件

🚀 快速开始

安装依赖

Bash
pip install pytest numpy scikit-learn

运行测试

Bash
# 运行所有测试
pytest -v

# 运行特定测试
pytest test_ml_algorithms.py -v

# 跳过需要sklearn的测试(如果未安装)
pytest -v -m "not requires_sklearn"

📊 测试覆盖

test_ml_algorithms.py

梯度下降算法

  • 批量梯度下降
  • 随机梯度下降 (SGD)
  • 收敛性测试
  • 线性回归应用

KNN 算法

  • 二分类测试
  • 多分类测试
  • 加权 KNN
  • 欧几里得距离计算

决策树算法

  • 简单决策树实现
  • 二分类测试
  • 过拟合控制测试

K-Means 聚类

  • 基本聚类测试
  • 收敛性测试
  • 聚类中心验证

朴素贝叶斯

  • 高斯朴素贝叶斯
  • 分类准确率测试

评估指标

  • 准确率 (Accuracy)
  • 精确率 (Precision)
  • 召回率 (Recall)
  • F1 分数
  • 混淆矩阵

📝 算法实现说明

测试文件中包含了从零实现的机器学习算法,适合学习理解:

  • gradient_descent(): 批量梯度下降
  • stochastic_gradient_descent(): 随机梯度下降
  • knn_predict(): KNN 分类
  • SimpleDecisionTree: 简单决策树
  • kmeans(): K-Means 聚类
  • GaussianNaiveBayes: 高斯朴素贝叶斯

⚠️ 注意事项

  1. 部分测试需要 scikit-learn 来生成测试数据
  2. 如果未安装 sklearn ,相关测试会被自动跳过
  3. 性能测试标记为 @pytest.mark.performance

作者: AI 学习教程 用途: 验证机器学习算法的正确性