Уберите неважные признаки из датасета и проверьте качество модели:

  1. Из тренировочного датасета удалите столбцы с важностью меньше 0.02.
  2. Посчитайте метрику при кросс-валидации на изменённом датасете.
# импортируем библиотеки и объявляем константы
import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import cross_val_score

RANDOM_STATE = 42

# подготавливаем данные заранее созданной функцией
# в код добавили кодирование ранговых и неранговых переменных, 
# удаление признаков с утечкой данных и высокой корреляцией
X_train, X_test, y_train, y_test = prepare_data('railway_full.csv')

# инициализируем и обучаем модель дерева решений с лучшими гиперпараметрами
model = DecisionTreeClassifier(
    max_depth=7,
    min_samples_leaf=10,
    min_samples_split=9,
    random_state=RANDOM_STATE
).fit(X_train, y_train)

# считаем метрику при кросс-валидации
score = cross_val_score(
    model,
    X_train,
    y_train,
    scoring='roc_auc',
    n_jobs=-1).mean()

# выводим метрику при кросс-валидации
print('На всех признаках', score)

# формируем таблицу важности признаков
feature_importances = pd.DataFrame(
    {
        'Feature': X_train.columns,
        'Importance': model.feature_importances_
    })

# формируем список признаков с важностью менее 0.02
features_to_drop = feature_importances[
    feature_importances['Importance'] < 0.02
]['Feature'].to_list()

# удалите признаки с важностью меньше 0.02 из датасета
X_train_less_features = X_train.drop(features_to_drop, axis=1)
X_test_less_features = X_test.drop(features_to_drop, axis=1)

# инициализируем модель дерева решений с лучшими гиперпараметрами
model = DecisionTreeClassifier(
    max_depth=7,
    min_samples_leaf=10,
    min_samples_split=9,
    random_state=RANDOM_STATE
)

# посчитайте метрику при кросс-валидации
score = cross_val_score(
    model,
    X_train_less_features,
    y_train,
    scoring='roc_auc',
    n_jobs=-1).mean()

# выводим метрику при кросс-валидации
print('На признаках с важностью более 0.02', score)

Результат
На всех признаках 0.916758766857235
На признаках с важностью более 0.02 0.9188241358271905