修改--修改接口文档code中的接口描述
This commit is contained in:
parent
2ca62b9094
commit
de760a485d
330
doc/接口文档code.md
330
doc/接口文档code.md
@ -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. 性能评估:
|
||||
- 使用多个评估指标
|
||||
- 考虑模型的稳定性
|
||||
- 关注模型在特定场景的表现
|
||||
Loading…
Reference in New Issue
Block a user