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)))