Maison > développement back-end > Tutoriel Python > Projet - Apprentissage supervisé avec Python - Utilisons la régression logistique pour prédire les risques d'avoir une crise cardiaque

Projet - Apprentissage supervisé avec Python - Utilisons la régression logistique pour prédire les risques d'avoir une crise cardiaque

DDD
Libérer: 2025-01-18 22:14:11
original
260 Les gens l'ont consulté

Project - Supervised Learning with Python - Lets use Logistic Regression for Predicting the chances of having a Heart Attack

Ce tutoriel présente un projet d'apprentissage automatique utilisant Python et l'algorithme LogisticRegression pour prédire la probabilité d'une crise cardiaque. L'ensemble de données, provenant de Kaggle, est analysé pour construire un modèle prédictif.

Concepts clés :

  • Régression logistique
  • StandardScaler (sklearn.preprocessing)
  • fit_transform()
  • train_test_split()
  • model.predict()
  • model.predict_proba()
  • classification_report()
  • roc_auc_score()

Objectif du projet :

Ce projet vise à illustrer l'application pratique de la régression logistique dans la prévision du risque de crise cardiaque sur la base des données des patients. Nous exploiterons les capacités de Python pour créer et évaluer ce modèle prédictif.

Le Jupyter Notebook et l'ensemble de données sont disponibles ici :

Cahier : https://www.php.cn/link/aa3f874fb850d8908be9af3a69af4289

Ensemble de données : https://www.php.cn/link/4223a1d5b9e017dda51515829140e5d2 (source Kaggle : https://www.php.cn/link/5bb77e5c6d452aee283844d47756dc05)

Projets futurs :

Les futurs didacticiels exploreront d'autres concepts d'apprentissage automatique, en se concentrant sur l'apprentissage supervisé et non supervisé, comme indiqué dans cette feuille de route de Kaggle : https://www.php.cn/link/4bea9e07f447fd088811cc81697a4d4e [#Machine Learning Engineer Feuille de route pour 2025]

Public cible :

Ce tutoriel est conçu pour les passionnés de Python intéressés par l'apprentissage du machine learning, en particulier ceux qui débutent dans le domaine. Il s'appuie sur un didacticiel précédent traitant de la régression linéaire.

N'hésitez pas à expérimenter avec le notebook et à explorer différents modèles d'apprentissage automatique !

Guide étape par étape :

Étape 1 : Chargement des données

import pandas as pd

data = pd.read_csv('heart-disease-prediction.csv')
print(data.head())
Copier après la connexion
Copier après la connexion

Cela charge l'ensemble de données à l'aide de pandas.

Étape 2 : Analyse exploratoire des données (EDA)

print(data.info())
Copier après la connexion
Copier après la connexion

Cela fournit un résumé de la structure et des types de données de l'ensemble de données.

Étape 3 : Gestion des données manquantes

print(data.isnull().sum())
data.fillna(data.mean(), inplace=True)
print(data.isnull().sum())
Copier après la connexion
Copier après la connexion

Les valeurs manquantes sont identifiées et remplies en utilisant la moyenne de chaque colonne.

Étape 4 : Prétraitement des données

X = data[['age', 'totChol','sysBP','diaBP', 'cigsPerDay','BMI','glucose']]
y = data['TenYearCHD']
Copier après la connexion
Copier après la connexion

Les fonctionnalités pertinentes (X) et la variable cible (y) sont sélectionnées.

Étape 5 : Normalisation des données

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X)
Copier après la connexion
Copier après la connexion

Les données sont normalisées à l'aide de StandardScaler pour améliorer les performances du modèle.

Étape 6 : fractionnement des données

import pandas as pd

data = pd.read_csv('heart-disease-prediction.csv')
print(data.head())
Copier après la connexion
Copier après la connexion

L'ensemble de données est divisé en ensembles de formation et de test (répartition 80/20).

Étape 7 : Formation du modèle

print(data.info())
Copier après la connexion
Copier après la connexion

Un modèle de régression logistique est formé à l'aide des données de formation.

Étape 8 : Évaluation du modèle

print(data.isnull().sum())
data.fillna(data.mean(), inplace=True)
print(data.isnull().sum())
Copier après la connexion
Copier après la connexion

Les performances du modèle sont évaluées à l'aide des classification_report et roc_auc_score.

Étape 9 : Prédiction du modèle

X = data[['age', 'totChol','sysBP','diaBP', 'cigsPerDay','BMI','glucose']]
y = data['TenYearCHD']
Copier après la connexion
Copier après la connexion

Le modèle entraîné est utilisé pour prédire le risque de maladie cardiaque pour un nouveau patient.

Des données supplémentaires sur les patients sont fournies pour une pratique ultérieure :

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X)
Copier après la connexion
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal