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
DDDoriginal
2025-01-18 22:14:11244parcourir

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

<code class="language-python">import pandas as pd

data = pd.read_csv('heart-disease-prediction.csv')
print(data.head())</code>

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

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

<code class="language-python">print(data.info())</code>

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

<code class="language-python">print(data.isnull().sum())
data.fillna(data.mean(), inplace=True)
print(data.isnull().sum())</code>

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

Étape 4 : Prétraitement des données

<code class="language-python">X = data[['age', 'totChol','sysBP','diaBP', 'cigsPerDay','BMI','glucose']]
y = data['TenYearCHD']</code>

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

Étape 5 : Normalisation des données

<code class="language-python">from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X)</code>

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

Étape 6 : fractionnement des données

<code class="language-python">import pandas as pd

data = pd.read_csv('heart-disease-prediction.csv')
print(data.head())</code>

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

Étape 7 : Formation du modèle

<code class="language-python">print(data.info())</code>

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

Étape 8 : Évaluation du modèle

<code class="language-python">print(data.isnull().sum())
data.fillna(data.mean(), inplace=True)
print(data.isnull().sum())</code>

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

Étape 9 : Prédiction du modèle

<code class="language-python">X = data[['age', 'totChol','sysBP','diaBP', 'cigsPerDay','BMI','glucose']]
y = data['TenYearCHD']</code>

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 :

<code class="language-python">from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X = scaler.fit_transform(X)</code>

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:
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