Tworzenie regresora LassoCV
Przewidzisz obwód bicepsa na podpróbce zbioru danych ANSUR dla mężczyzn, korzystając z regresora LassoCV(), który automatycznie dobiera siłę regularyzacji (wartość alfa) przy użyciu walidacji krzyżowej.
Wystandardyzowane dane treningowe i testowe zostały wcześniej załadowane jako X_train, X_test, y_train i y_test.
To ćwiczenie jest częścią kursu
Redukcja wymiarowości w Pythonie
Instrukcje do ćwiczenia
- Utwórz i dopasuj model LassoCV na zbiorze treningowym.
- Oblicz \(R^2\) na zbiorze testowym.
- Utwórz maskę dla współczynników różnych od zera.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
from sklearn.linear_model import LassoCV
# Create and fit the LassoCV model on the training set
lcv = ____
lcv.____
print(f'Optimal alpha = {lcv.alpha_:.3f}')
# Calculate R squared on the test set
r_squared = lcv.____
print(f'The model explains {r_squared:.1%} of the test set variance')
# Create a mask for coefficients not equal to zero
lcv_mask = ____
print(f'{sum(lcv_mask)} features out of {len(lcv_mask)} selected')