Using `epsilon` to control tolerance and `kernel` for flexibility.
from sklearn.svm import SVR
# 1. Create Model
# kernel='linear' for lines
# kernel='rbf' for curves
# epsilon=0.1 means "ignore errors smaller than 0.1"
model = SVR(kernel='rbf', C=100, epsilon=0.1)
# 2. Train
model.fit(X, y)
# 3. Predict
print(model.predict([[5.0]]))
# 4. View Support Vectors
print(f"Num Support Vectors: {len(model.support_)}")
# We want this number to be small!