IIS_2023_1/almukhammetov_bulat_lab_3/lab3(old).py
2023-11-01 23:05:45 +04:00

49 lines
1.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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])