簡單介紹:svr全稱是support vector regression,是svm(支援向量機support vector machine)對回歸問題的一種運用。
資料來源:(a.xlsx)
**實現:(需要安裝sklearn模組) 矩陣注釋部分是中間輸出,可以方便理解原理
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
from sklearn.preprocessing import standardscaler
from sklearn.svm import svr
#讀取資料
dataset=pd.read_excel("a.xlsx")
x=dataset.iloc[:,1:2].values #輸出為n*1(1列)
y=dataset.iloc[:,2:3].values #輸出為1*n
#下面處理資料 標準化
sc_x=standardscaler()
sc_y=standardscaler()
x=sc_x.fit_transform(x)
y=sc_y.fit_transform(y)
print(x)
"""[[-1.5666989 ]
[-1.21854359]
[-0.87038828]
[-0.52223297]
[-0.17407766]
[ 0.17407766]
[ 0.52223297]
[ 0.87038828]
[ 1.21854359]
[ 1.5666989 ]]
"""#開始svr回歸
regressor = svr(kernel = 'rbf')
regressor.fit(x,y)
y_pred=regressor.predict(sc_x.transform(np.array([[0.1]])))
#print(y_pred) [-0.52548721]
#將y_pred轉換為正常值
y_pred=sc_y.inverse_transform(y_pred)
#print(y_pred) [100255.85072346]
#影象中顯示
plt.scatter(x,y,color = 'blue')
plt.plot(x,regressor.predict(x),color='yellow')
plt.title("svr**曲線")
plt.xlabel("position level")
plt.ylabel("salary")
plt.show()
輸出截圖:
that's all
回歸 支援向量機回歸 SVR
支援向量機回歸 svr 是支援向量機在回歸問題上的應用模型。支援向量機回歸模型基於不同的損失函式產生了很多變種。本文僅介紹基於 epsilon 不敏感損失函式的svr模型。找到乙個分離超平面 超曲面 使得期望風險最小。epsilon 損失函式,就是當誤差小於 epsilon 時,該誤差可忽略。反之,...
支援向量機(SVM) 支援向量回歸(SVR)
1 支援向量機 svm 是一種比較好的實現了結構風險最小化思想的方法。它的機器學習策略是結構風險最小化原則 為了最小化期望風險,應同時最小化經驗風險和置信範圍 支援向量機方法的基本思想 1 它是專門針對有限樣本情況的學習機器,實現的是結構風險最小化 在對給定的資料逼近的精度與逼近函式的複雜性之間尋求...
SVR支援向量回歸例子
svr軟體包的安裝 使用svr模型,得到輸入向量x x包含3個變數x1,x2,x3 到輸出向量y y只包含乙個變數 之間的對映關係,也就是計算y f x1,x2,x3 函式的f x1,x2,x3時簡單的加法運算 y x1 x2 x3 訓練個數 訓練需要的時間 秒 誤差 相關係數 100 0.0028...