import pandas as pd from sklearn.metrics import accuracy_score, mean_squared_error from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier # Загрузка данных data = pd.read_csv('stroke_prediction_ds.csv') # Приведение данных к цифровому значению data['gender'] = data['gender'].map({'Male': 0, 'Female': 1}) data['ever_married'] = data['ever_married'].map({'No': 0, 'Yes': 1}) # Определение признаков X = data[['hypertension', 'heart_disease', 'ever_married', 'gender']] # Целевая переменная y = data['stroke'] # Разделение данных на обучающую и тестовую выборки X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # Создание модели dt_classifier = DecisionTreeClassifier(random_state=42) # Обучение модели dt_classifier.fit(X_train, y_train) # Вычисление важности признаков feature_importances = dt_classifier.feature_importances_ # Вычисление 'Accuracy' модели predictions = dt_classifier.predict(X_test) accuracy = accuracy_score(y_test, predictions) # Вычисление средней квадратичной ошибки mse = mean_squared_error(y_test, predictions) # Вывод результатов print(X.head(10)) print(f'Важность признаков:" {feature_importances}') print(f'Accuracy модели: {round(accuracy * 100)}%') print("Средняя квадратичная ошибка: {:.2f}%".format(mse * 100))