32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
import pandas as pd
|
||
from sklearn.tree import DecisionTreeClassifier
|
||
|
||
# Загрузка данных
|
||
data = pd.read_csv('titanic_data.csv', index_col='PassengerId')
|
||
|
||
# Фильтрация данных
|
||
data = data.dropna(subset=['Ticket', 'Fare', 'Cabin', 'Survived'])
|
||
|
||
# Преобразование категориальных признаков в числовые
|
||
data['Ticket'], _ = pd.factorize(data['Ticket'])
|
||
data['Cabin'], _ = pd.factorize(data['Cabin'])
|
||
|
||
# Выделение признаков и целевой переменной
|
||
X = data[['Ticket', 'Fare', 'Cabin']]
|
||
y = data['Survived']
|
||
|
||
# Создание и обучение дерева решений
|
||
clf = DecisionTreeClassifier(random_state=241)
|
||
clf.fit(X, y)
|
||
|
||
# Получение и распечатка важностей признаков
|
||
importances = clf.feature_importances_
|
||
|
||
# Связываем важности с именами признаков
|
||
feature_importance = dict(zip(X.columns, importances))
|
||
|
||
# Выводим важности признаков
|
||
print("Важности признаков:")
|
||
for feature, importance in feature_importance.items():
|
||
print(f"{feature}: {importance}")
|