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
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.
StandardScaler
(sklearn.preprocessing)fit_transform()
train_test_split()
model.predict()
model.predict_proba()
classification_report()
roc_auc_score()
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)
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]
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 !
<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.
<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.
<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.
<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.
<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.
<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).
<code class="language-python">print(data.info())</code>
Un modèle de régression logistique est formé à l'aide des données de formation.
<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
.
<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!