支持向量机SVM:SVR

 1 from sklearn.datasets import load_boston
 2 from sklearn.model_selection import train_test_split
 3 boston=load_boston()
 4 X,y=boston.data,boston.target
 5 X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=8)
 6 
 7 from sklearn.svm import SVR
 8 from sklearn.metrics import r2_score
 9 for kernel in ['linear','rbf']:
10     svr=SVR(kernel=kernel)
11     svr.fit(X_train,y_train)
12     print(kernel,'kernel,the train score is:{}'.format(svr.score(X_train,y_train)))
13     print(kernel, 'kernel,the test score is:{}'.format(svr.score(X_test, y_test)))
1 import matplotlib.pyplot as plt
2 plt.plot(X.min(axis=0),'v',label='min')
3 plt.plot(X.max(axis=0),'^',label='max')
4 plt.yscale('log')
5 plt.legend(loc='best')
6 plt.xlabel('features')
7 plt.ylabel('feature magnitude')
8 plt.show()
1 from sklearn.preprocessing import StandardScaler
2 scaler=StandardScaler()
3 scaler.fit(X_train)
4 X_train_scaled=scaler.transform(X_train)
5 X_test_scaled=scaler.transform(X_test)
1 plt.plot(X_train_scaled.min(axis=0),'v',label='train set min')
2 plt.plot(X_train_scaled.max(axis=0),'^',label='train set max')
3 plt.plot(X_test_scaled.min(axis=0),'v',label='test set min')
4 plt.plot(X_test_scaled.max(axis=0),'^',label='test set max')
5 #plt.yscale('log')
6 plt.legend(loc='best')
7 plt.xlabel('features')
8 plt.ylabel('feature magnitude')
9 plt.show()
1 for kernel in ['linear','rbf']:
2     svr=SVR(kernel=kernel)
3     svr.fit(X_train_scaled,y_train)
4     print(kernel,'kernel,the train score is:{}'.format(svr.score(X_train_scaled,y_train)))
5     print(kernel, 'kernel,the test score is:{}'.format(svr.score(X_test_scaled, y_test)))
1 for kernel in ['linear','rbf']:
2     svr=SVR(kernel=kernel,gamma=0.1,C=100)
3     svr.fit(X_train_scaled,y_train)
4     print(kernel,'kernel,the train score is:{}'.format(svr.score(X_train_scaled,y_train)))
5     print(kernel, 'kernel,the test score is:{}'.format(svr.score(X_test_scaled, y_test)))
原文地址:https://www.cnblogs.com/St-Lovaer/p/12294495.html