修改--修改接口文档code中的接口描述

This commit is contained in:
haotian 2025-02-17 11:50:51 +08:00
parent 2ca62b9094
commit de760a485d

View File

@ -36,21 +36,26 @@ Response:
{
"status": "success",
"method": {
"name": "missing_value_handler",
"description": "缺失值处理",
"name": "SimpleImputer",
"principle": "使用统计方法(如均值、中位数、众数)或常数值填充缺失值。",
"advantages": ["实现简单,计算速度快。","适用于数值型和分类型数据。"],
"disadvantages": ["未考虑特征之间的相关性,可能导致偏差。"],
"applicable_scenarios": ["数据缺失比例较小且随机分布。", "需要快速处理缺失值的场景。"],
"parameters": [
{
"name": "strategy",
"type": "string",
"options": ["mean", "median", "mode", "constant"],
"default": "mean",
"description": "填充策略"
"name": "missing_values",
"type": ["int", "float", "str", "np.nan" , "None"],
"default": "np.nan",
"description": "指定需要填充的缺失值。进行修改。"
},
{
"name": "fill_value",
"type": "float",
"required": false,
"description": "当strategy为constant时的填充值"
"name": "strategy",
"type": "str",
"default": "'mean'",
"description": "填充策略,可选值为 'mean'(均值)、'median'(中位数)、'most_frequent'(众数)和 'constant'(常数)。"
},
{
...
}
]
}
@ -426,6 +431,292 @@ Response:
}
```
## 附录A方法详细说明
### A1. 数据预处理方法
#### A1.1 缺失值处理
1. 均值填充 (mean)
```yaml
原理: 使用特征列的均值填充缺失值
优点:
- 简单直观,计算快速
- 保持数据分布的均值不变
缺点:
- 降低数据方差
- 忽略特征间相关性
适用场景:
- 数据近似正态分布
- 缺失比例较小(<30%)
- 特征间相关性不强
```
2. 中位数填充 (median)
```yaml
原理: 使用特征列的中位数填充缺失值
优点:
- 对异常值不敏感
- 保持数据分布的中心趋势
缺点:
- 忽略特征间相关性
- 可能改变数据分布形状
适用场景:
- 数据存在异常值
- 数据分布偏斜
- 缺失比例中等(<50%)
```
3. KNN填充
```yaml
原理: 基于K近邻样本的值进行填充
优点:
- 考虑特征间相关性
- 保持数据局部结构
缺点:
- 计算开销大
- 对K值敏感
适用场景:
- 特征间强相关
- 数据量适中
- 缺失模式随机
```
#### A1.2 异常值检测
1. Z-score方法
```yaml
原理: 基于均值和标准差判断异常值
优点:
- 计算简单快速
- 适用于正态分布数据
缺点:
- 对分布假设敏感
- 不适用于多峰分布
参数:
threshold: 标准差倍数(通常取3)
适用场景:
- 数据近似正态分布
- 需要快速检测
```
2. IQR方法
```yaml
原理: 基于四分位数范围判断异常值
优点:
- 对分布假设不敏感
- 稳健性好
缺点:
- 可能过于保守
- 不适合多模态数据
参数:
multiplier: IQR倍数(通常取1.5)
适用场景:
- 数据分布未知
- 存在较多噪声
```
3. Isolation Forest
```yaml
原理: 基于孤立树检测异常点
优点:
- 处理高维数据效果好
- 计算效率高
- 不需要假设数据分布
缺点:
- 对参数敏感
- 随机性较大
参数:
contamination: 异常比例估计
n_estimators: 树的数量
适用场景:
- 高维数据
- 大规模数据集
- 复杂异常模式
```
### A2. 特征工程方法
#### A2.1 特征缩放
1. 标准化 (StandardScaler)
```yaml
原理: 转换为均值为0、标准差为1的分布
优点:
- 消除量纲影响
- 适合正态分布数据
- 适合梯度下降算法
缺点:
- 对异常值敏感
- 改变原始数据分布
适用场景:
- 线性模型
- 神经网络
- 数据近似正态分布
```
2. 最小最大缩放 (MinMaxScaler)
```yaml
原理: 线性变换到[0,1]区间
优点:
- 保持零值
- 保持稀疏矩阵稀疏性
缺点:
- 对异常值敏感
适用场景:
- 图像处理
- 神经网络输入
- 需要非负值的场景
```
3. 稳健缩放 (RobustScaler)
```yaml
原理: 基于分位数的缩放方法
优点:
- 对异常值不敏感
- 保持数据分布形状
缺点:
- 计算相对较慢
适用场景:
- 存在异常值
- 分布有偏的数据
```
#### A2.2 特征选择
1. 方差选择
```yaml
原理: 删除方差小于阈值的特征
优点:
- 计算简单快速
- 易于理解
缺点:
- 忽略特征间相关性
- 忽略与目标变量的关系
参数:
threshold: 方差阈值
适用场景:
- 初步特征筛选
- 去除常量特征
```
2. 互信息选择
```yaml
原理: 基于特征与目标变量的互信息量选择特征
优点:
- 可以捕捉非线性关系
- 适用于分类问题
缺点:
- 计算开销大
- 需要离散化连续变量
参数:
k: 选择的特征数量
适用场景:
- 分类问题
- 特征间存在非线性关系
```
### A3. 机器学习模型
#### A3.1 分类模型
1. XGBoost
```yaml
原理: 基于梯度提升的集成树模型
优点:
- 预测准确率高
- 处理缺失值
- 内置正则化
- 支持并行计算
缺点:
- 参数调优复杂
- 内存消耗大
关键参数:
max_depth: 树的最大深度
learning_rate: 学习率
n_estimators: 树的数量
适用场景:
- 结构化数据
- 高维特征
- 大规模数据集
```
2. LightGBM
```yaml
原理: 基于梯度提升的轻量级框架
优点:
- 训练速度快
- 内存占用小
- 支持类别特征
缺点:
- 小数据集容易过拟合
- 对参数较敏感
关键参数:
num_leaves: 叶子节点数
learning_rate: 学习率
min_data_in_leaf: 叶节点最小样本数
适用场景:
- 大规模数据集
- 高维稀疏特征
- 类别特征较多
```
3. LSTM
```yaml
原理: 长短期记忆神经网络
优点:
- 处理序列数据能力强
- 可以学习长期依赖
- 解决梯度消失问题
缺点:
- 训练时间长
- 需要大量数据
- 计算资源消耗大
关键参数:
hidden_units: 隐藏单元数
num_layers: 网络层数
dropout_rate: 丢弃率
适用场景:
- 时间序列预测
- 自然语言处理
- 序列分类
```
#### A3.2 回归模型
1. ElasticNet
```yaml
原理: 结合L1和L2正则化的线性回归
优点:
- 处理多重共线性
- 可进行特征选择
- 防止过拟合
缺点:
- 需要调整两个正则化参数
- 只能处理线性关系
关键参数:
alpha: 正则化强度
l1_ratio: L1正则化比例
适用场景:
- 特征间存在相关性
- 需要特征选择
- 数据量适中
```
2. SVR (支持向量回归)
```yaml
原理: 基于支持向量机的回归方法
优点:
- 可处理非线性关系
- 对异常值不敏感
- 理论基础扎实
缺点:
- 计算复杂度高
- 核函数选择困难
关键参数:
kernel: 核函数类型
C: 惩罚参数
epsilon: 误差容忍度
适用场景:
- 非线性回归
- 中小规模数据集
- 需要高精度预测
```
## 补充说明
1. 所有接口返回格式统一:
@ -458,4 +749,19 @@ Authorization: Bearer <token>
5. 接口版本控制:
- 在URL中包含版本号/api/v1/...
- 在请求头中指定版本API-Version: 1.0
- 在请求头中指定版本API-Version: 1.0
1. 方法选择建议:
- 根据数据特点选择合适的预处理方法
- 考虑计算资源和时间限制
- 优先选择简单且可解释的方法
2. 参数调优建议:
- 使用交叉验证选择参数
- 考虑模型复杂度和性能的平衡
- 记录参数调优历史
3. 性能评估:
- 使用多个评估指标
- 考虑模型的稳定性
- 关注模型在特定场景的表现