
PSO-SVR与其它优化算法的回归预测对比
---
## 当SVR遇上粒子群:回归预测还能这么玩
搞机器学习的朋友都知道,支持向量回归(SVR)是个好东西,但调参真是让人头大——尤其是惩罚系
数`c`和核函数参数`g`。手动调参?不存在的!今天咱们聊点狠活:**用粒子群算法(PSO)自动优化SVR参数
**,顺便对比传统SVR和优化后的效果。
### 数据准备:Excel表格直接起飞
数据格式是多输入单输出,比如你有10个特征列,1个目标列。代码里直接读Excel就行,简单粗暴:
```python
import pandas as pd
data = pd.read_excel('你的数据.xlsx')
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
```
### PSO优化SVR的核心逻辑
粒子群算法本质上是个“群体智能”搜索器。每个粒子代表一组`(c, g)`参数,通过迭代找到最优解
。适应度函数设计是重点,这里提供四种选择:
1. **K折交叉验证的MSE**
2. **测试集预测的MSE**
3. **前两者的均值**
4. **训练集和测试集预测MSE分别计算**
这里以第三种为例,代码实现如下:
```python
from sklearn.svm import SVR
from sklearn.model_selection import KFold
import numpy as np
def fitness_function(params):
c, g = params
model = SVR(C=c, gamma=g)