Toy example of 1D regression using linear, polynomial and RBF kernels.
1 2 3 4 5 | print (__doc__) import numpy as np from sklearn.svm import SVR import matplotlib.pyplot as plt |
Generate sample data
1 2 | X = np.sort( 5 * np.random.rand( 40 , 1 ), axis = 0 ) y = np.sin(X).ravel() |
Add noise to targets
1 | y[:: 5 ] + = 3 * ( 0.5 - np.random.rand( 8 )) |
Fit regression model
1 2 3 4 5 6 | svr_rbf = SVR(kernel = 'rbf' , C = 1e3 , gamma = 0.1 ) svr_lin = SVR(kernel = 'linear' , C = 1e3 ) svr_poly = SVR(kernel = 'poly' , C = 1e3 , degree = 2 ) y_rbf = svr_rbf.fit(X, y).predict(X) y_lin = svr_lin.fit(X, y).predict(X) y_poly = svr_poly.fit(X, y).predict(X) |
look at the results
1 2 3 4 5 6 7 8 9 10 11 | lw = 2 plt.scatter(X, y, color = 'darkorange' , label = 'data' ) plt.hold( 'on' ) plt.plot(X, y_rbf, color = 'navy' , lw = lw, label = 'RBF model' ) plt.plot(X, y_lin, color = 'c' , lw = lw, label = 'Linear model' ) plt.plot(X, y_poly, color = 'cornflowerblue' , lw = lw, label = 'Polynomial model' ) plt.xlabel( 'data' ) plt.ylabel( 'target' ) plt.title( 'Support Vector Regression' ) plt.legend() plt.show() |
Total running time of the script: (0 minutes 0.769 seconds)
Download Python source code:
plot_svm_regression.py
Download IPython notebook:
plot_svm_regression.ipynb
Please login to continue.