
<SYSTEM_TASK:>
Given the following text problem statement, write Python code to implement the functionality described below in problem statement
<END_TASK>
<USER_TASK:>
Problem:
Regression with Histogram Gradient Boosting in Scikit-Learn

<ASSISTANT_TASK:>
Python Code::
from sklearn.ensemble import HistGradientBoostingRegressor
from sklearn.metrics import mean_squared_error, mean_absolute_error, max_error, explained_variance_score, mean_absolute_percentage_error
# Step 1: Create list containing the indices of categorical features
categorical_features = [1]
# Step 2: Initialise histogram gradient boosting regression model and fit
model = HistGradientBoostingRegressor( loss='squared_error',
                                       learning_rate=0.1,
                                       max_depth=None,
                                       max_bins=255,
                                       categorical_features=categorical_features,
                                       random_state=101)
model.fit(X_train, y_train)
# Step 3: make prediction for test data & evaluate performance
y_pred = model.predict(X_test)
print('RMSE:',mean_squared_error(y_test, y_pred, squared = False))
print('MAE:',mean_absolute_error(y_test, y_pred))
print('MAPE:',mean_absolute_percentage_error(y_test, y_pred))
print('Max Error:',max_error(y_test, y_pred))
print('Explained Variance Score:',explained_variance_score(y_test, y_pred))

<END_TASK>
