本文介紹了python 支持向量機非線性回歸SVR模型,廢話不多說,具體如下:
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm from sklearn.model_selection import train_test_split def load_data_regression(): ''' 加載用于回歸問題的數據集 ''' diabetes = datasets.load_diabetes() #使用 scikit-learn 自帶的一個糖尿病病人的數據集 # 拆分成訓練集和測試集,測試集大小為原始數據集大小的 1/4 return train_test_split(diabetes.data,diabetes.target,test_size=0.25,random_state=0) #支持向量機非線性回歸SVR模型 def test_SVR_linear(*data): X_train,X_test,y_train,y_test=data regr=svm.SVR(kernel='linear') regr.fit(X_train,y_train) print('Coefficients:%s, intercept %s'%(regr.coef_,regr.intercept_)) print('Score: %.2f' % regr.score(X_test, y_test)) # 生成用于回歸問題的數據集 X_train,X_test,y_train,y_test=load_data_regression() # 調用 test_LinearSVR test_SVR_linear(X_train,X_test,y_train,y_test)