bias variance decomposition
from sklearn.feature_selection import SelectKBest, f_regression # Select the top 10 features using SelectKBest selector = SelectKBest(score_func=f_regression, k=10) X_train_selected = selector.fit_transform(X_train, y_train) X_test_selected = selector.transform(X_test) # Train a linear regression model on the selected features lr_selected = LinearRegression() lr_selected.fit(X_train_selected, y_train) # Evaluate the model using cross-validation cv_scores_selected = cross_val_score(lr_selected, X_train_selected, y_train, cv=5, scoring='neg_mean_squared_error') cv_scores_selected = -cv_scores_selected # Calculate the average MSE and its standard deviation avg_mse_selected = cv_scores_selected.mean() std_mse_selected = cv_scores_selected.std() print(f"Selected Features Cross-Validation MSE: {avg_mse_selected:.2f} +/- {std_mse_selected:.2f}")