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}")
|