НачатьНачать бесплатно

Кросс-валидация модели XGBoost

В этом упражнении вы сделаете ещё один шаг вперёд: используете созданный конвейер для предобработки данных и кросс-валидации модели.

Это упражнение является частью курса

Экстремальный градиентный бустинг с XGBoost

Посмотреть курс

Инструкции к упражнению

  • Создайте конвейер с именем xgb_pipeline, используя steps.
  • Выполните 10-кратную кросс-валидацию с помощью cross_val_score(). Передайте в функцию конвейер, X (в виде словаря, используя .to_dict("records")), y, желаемое количество блоков и параметр scoring ("neg_mean_squared_error").
  • Выведите значение RMSE при 10-кратной кросс-валидации.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import necessary modules
from sklearn.feature_extraction import DictVectorizer
from sklearn.pipeline import Pipeline
from sklearn.model_selection import cross_val_score

# Fill LotFrontage missing values with 0
X.LotFrontage = ____

# Setup the pipeline steps: steps
steps = [("ohe_onestep", DictVectorizer(sparse=False)),
         ("xgb_model", xgb.XGBRegressor(max_depth=2, objective="reg:squarederror"))]

# Create the pipeline: xgb_pipeline
xgb_pipeline = ____

# Cross-validate the model
cross_val_scores = ____

# Print the 10-fold RMSE
print("10-fold RMSE: ", np.mean(np.sqrt(np.abs(____))))
Редактировать и запускать код