本文介紹了支持向量回歸算法(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
中的列數據類型必須是浮點型或整型。
文檔內容是否對您有幫助?