本文介绍了支持向量回归算法(Support Vector Regression,以下简称SVR)的相关内容。
简介
SVR是支持向量机(SVM)的重要应用分支。通过SVR算法,可以找到一个回归平面并使得一个集合中的所有数据距离该平面的距离最短。
使用场景
SVR是一个回归模型,主要是用于拟合数值,一般应用于特征较为稀疏且特征数较少的场景。
例如,可以使用SVR回归模型来预测某个城市的温度。输入特征有很多,例如这个城市某个时期的平均温度、绿化程度、湖泊数量以及日期等。训练数据可以是一段时间内的城市温度。
参数说明
下表中的参数为创建模型CREATE MODEL
语法中model_parameter
参数的取值,您可以根据当前需求选择对应的参数。
参数 | 说明 |
kernel | 核函数,用于将低维数据映射到高维空间。取值如下:
|
c | 松弛系数的惩罚项系数。取值为大于0的浮点数,可不填。默认值为1。 说明 如果数据质量较差,可以适当降低惩罚项 |
epsilon | SVR损失函数的阈值。当预测值与实际值的差值等于该阈值时,需要计算该样本的损失。默认值为0.1。 |
max_iter | 最大迭代次数。取值为正整数或-1,默认值为-1。 说明 如果设置为-1,则表示不限制迭代次数,直到收敛到 |
示例
创建模型与模型离线训练
/*polar4ai*/CREATE MODEL svr1 WITH
( model_class = 'svr', x_cols = 'dx1,dx2', y_cols='y',
model_parameter=(kernel='rbf')) AS (SELECT * FROM db4ai.testdata1);
模型评估
/*polar4ai*/SELECT dx1,dx2 FROM EVALUATE(MODEL svr1,
SELECT * FROM db4ai.testdata1 LIMIT 10) WITH
(x_cols = 'dx1,dx2',y_cols='y',metrics='r2_score');
模型预测
/*polar4ai*/SELECT dx1,dx2 FROM
PREDICT(MODEL svr1, SELECT * FROM db4ai.testdata1 LIMIT 10)
WITH (x_cols = 'dx1,dx2');
说明
其中,x_cols
和y_cols
中的列数据类型必须是浮点型或整型。