import pandas as pd from sklearn.model_selection import train_test_split from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score # Загрузка данных data = pd.read_csv("smoking_driking_dataset.csv") # Предварительная обработка данных data = pd.get_dummies(data, columns=['sex', 'DRK_YN'], drop_first=True) # Разделение данных на признаки (X) и целевую переменную (y) X = data.drop(columns=['SMK_stat_type_cd']) y = data['SMK_stat_type_cd'] # Разделение данных на обучающий и тестовый наборы X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.01, random_state=42) # Создание и обучение модели model = DecisionTreeClassifier(random_state=42) model.fit(X_train, y_train) # Предсказание на тестовом наборе y_pred = model.predict(X_test) # Оценка модели accuracy = accuracy_score(y_test, y_pred) print(f"Точность: {accuracy}") # Важность признаков feature_importance = pd.DataFrame({'Признак': X.columns, 'Важность': model.feature_importances_}) feature_importance = feature_importance.sort_values(by='Важность', ascending=False) print("Важность признаков:\n", feature_importance)