Ho messo insieme un esempio piuttosto ingegnoso, ma speriamo che sia d'aiuto.
import pandas as pd
import numpy as np
from sklearn import datasets
from sklearn.linear_model import Ridge, Lasso
from sklearn.cross_validation import train_test_split
from sklearn.preprocessing import PolynomialFeatures
Per prima cosa creare un set di dati lineare, con una suddivisione di allenamento e test. 5 in ogni
X,y, c = datasets.make_regression(10,1, noise=5, coef=True, shuffle=True, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X,y, train_size=5)

adattare i dati con un quinto polinomio di ordine senza regolarizzazione.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
pipeline = Pipeline([
('poly', PolynomialFeatures(5)),
('model', Ridge(alpha=0.)) # alpha=0 indicates 0 regularization.
])
pipeline.fit(X_train,y_train)
Guardando i coefficienti
pipeline.named_steps['model'].coef_
pipeline.named_steps['model'].intercept_
# y_pred = -12.82 + 33.59 x + 292.32 x^2 - 193.29 x^3 - 119.64 x^4 + 78.87 x^5

Qui il modello tocca tutti i punti di formazione, ma ha elevati coefficienti e non toccare i punti di prova.
Proviamo di nuovo, ma cambiare il nostro L2 regolarizzazione
pipeline.set_params(model__alpha=1)

y_pred = 6.88 + 26.13 x + 16.58 x^2 + 12.47 x^3 + 5.86 x^4 - 5.20 x^5
Qui vediamo una forma fluida, con meno dimenando intorno. Non tocca più tutti i punti di allenamento, ma è una curva molto più morbida. I coefficienti sono più piccoli a causa della regolarizzazione aggiunta.
Ma come fa aggiungendo le piazze in funzione di costo noi ottenere l'ipotesi più semplice? Non ti ho preso qui. –