在 Scikit Learn 中使用线性和非线性核的支持向量回归 (SVR)
支持向量回归 (SVR) 是一种用于回归任务的支持向量机 (SVM)。它试图找到一个函数,能够最好地预测给定输入值的连续输出值。
SVR 可以使用线性和非线性核。线性核是两个输入向量之间的简单点积,而非线性核则是更复杂的函数,可以捕捉数据中更复杂的模式。核的选择取决于数据的特征和任务的复杂性。
在Python的 scikit-learn 包中,您可以使用' SVR'类来执行具有线性或非线性(kernel)SVR 。要指定kernel,您可以将核参数设置为'线性'或'RBF'(径向基函数)。
与支持向量回归(SVR)相关的概念:
为了有效地使用支持向量回归 (SVR),您可能需要了解几个相关概念。以下是其中最重要的几个:
- 支持向量机 (SVM): SVR 是一种支持向量机(SVM),是一种可用于分类或回归任务的监督学习算法。SVM 试图在高维空间中找到最大限度区分不同类别或输出值的超平面。
- 核函数: SVR 可以使用不同类型的核函数,这些核函数用于确定输入向量之间的相似性。线性核函数是两个输入向量之间的简单点积,而非线性核函数则是更复杂的函数,可以捕捉数据中更复杂的模式。核函数的选择取决于数据的特征和任务的复杂性。
- 超参数: SVR 有多个超参数,您可以调整这些超参数来控制模型的行为。例如,“C”参数控制不敏感损失和敏感损失之间的权衡。较大的“C”值意味着模型将尝试尽量减少不敏感损失,而较小的 C 值意味着模型将更宽容地允许较大的误差。
- 模型评估:与任何机器学习模型一样,评估 SVR 模型的性能非常重要。一种常见的方法是将数据分成训练集和测试集,然后使用训练集拟合模型,使用测试集对其进行评估。然后,您可以使用均方误差 (MSE)或平均绝对误差 (MAE)等指标来衡量预测输出值与真实输出值之间的误差。
使用线性核函数对正弦曲线数据拟合 SVR 模型
首先,我们将尝试在非线性数据集上使用线性核获得一些基线结果,并尝试观察模型可以拟合的程度。
- Python3
| import numpy as np import matplotlib.pyplot as plt from sklearn.svm import SVR
# generate synthetic data </ |

&spm=1001.2101.3001.5002&articleId=144872679&d=1&t=3&u=de54de443e144859b24d695d084460ce)
1277

被折叠的 条评论
为什么被折叠?



