Отобразите важность признаков на графике. Выведите столбчатый график с помощью seaborn: по оси X будут значения важности, а по оси Y — наименования признаков.

# импортируем библиотеки и объявляем константы
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import OneHotEncoder
from sklearn.tree import DecisionTreeClassifier
import matplotlib.pyplot as plt
import seaborn as sns

RANDOM_STATE = 42

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

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

# обучаем модель
model.fit(X_train, y_train)

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

plt.figure(figsize=(12, 6))

# Постройте столбчатый график:
# по оси x — важность признака;
# по оси y - его наименование.
ax = sns.barplot(x='Importance', y='Feature', data=feature_importances)

# добавляем названия графика и осей
ax.set_title('Важность признаков', fontsize=16)
ax.set_xlabel('Важность (доля)', fontsize=14)
ax.set_ylabel('Признак', fontsize=14)

# отображаем график
plt.show()

Результат

p1

Оказывается, для пассажиров поезда хорошая уборка важнее, чем, например, включённое питание. Хотелось бы увидеть результаты для пассажиров самолёта: каково это лететь без привычного вопроса «Рыба или курица?»