import pandas as pd from sklearn.preprocessing import LabelEncoder from sklearn.tree import DecisionTreeClassifier # Загрузка данных data = pd.read_csv('titanic.csv', index_col='PassengerId') # Функция для преобразования пола в числовое значение def Sex_to_bool(sex): if sex == "male": return 0 return 1 # Преобразование пола в числовое значение data['Sex'] = data['Sex'].apply(Sex_to_bool) # Отбор строк с непустыми значениями # Отбор строк с непустыми значениями data = data.loc[~data['Name'].isna() & ~data['Age'].isna() & ~data['Sex'].isna() & ~data['Survived'].isna()] # Отбор нужных столбцов features = data[['Name', 'Sex', 'Age']] # Применение Label Encoding к столбцу 'Name' label_encoder = LabelEncoder() features['Name'] = label_encoder.fit_transform(features['Name']) # Определение целевой переменной y = data['Survived'] # Создание и обучение дерева решений clf = DecisionTreeClassifier(random_state=241) clf.fit(features, y) # Получение важностей признаков importance = clf.feature_importances_ # Печать важности каждого признака print("Важность 'Name':", importance[0]) print("Важность 'Sex':", importance[1]) print("Важность 'Age':", importance[2])