Сформируйте таблицу важности признаков на данных о пассажирских перевозках:
- обучите дерево решений;
- составьте таблицу важности признаков;
- отсортируйте таблицу от самых важных признаков к менее важным.
# импортируем библиотеки и объявляем константы
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import OneHotEncoder
from sklearn.tree import DecisionTreeClassifier
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_
})
# отсортируйте таблицу от большего значения важности к меньшему и выведите результат
print(feature_importances.sort_values(by='Importance', ascending=False))
Результат
Feature Importance
6 Оценка качества уборки 0.615062
5 Оценка комфортности места 0.159855
7 Оценка качества обслуживания в пути 0.139766
3 Питание включено 0.072663
1 Расстояние 0.009363
0 Возраст 0.003290
2 Покупка билета онлайн 0.000000
4 Наличие wifi 0.000000
8 Пол_муж 0.000000
9 Путешествует с детьми_нет 0.000000
10 Путешествует по работе_нет 0.000000
11 Тип_плацкарт 0.000000
12 Тип_св 0.000000