Modèle de prédiction du diabète à l'aide de Python Machine Learning
Introduction
Dans cet article, nous apprendrons à utiliser le modèle Train Test Split pour diviser un ensemble de données en quatre parties, développer un modèle de prédiction et également analyser les prédictions et l'ensemble de données à travers un cas d'utilisation.
Cas d'utilisation — Énoncé du problème
Notre objectif pour cet article est de prédire si les patients sont diabétiques ou non . Toutes nos patientes sont de jeunes femmes, dont les données fournies (c'est-à-dire le nombre de grossesses, les taux de glucose et l'IMC) seront utilisées pour prédire le diabète. C'est le jeu de données que nous allons utiliser.
Données d'entraînement et de test dans l'apprentissage automatique
Travaillant avec des ensembles de données, presque tous les algorithmes d'apprentissage automatique fonctionnent en trois phases différentes : le prétraitement des données, le modèle de prédiction et l'analyse des données. Au cours de l'étape 1 du processus, l'ensemble de données est divisé en 80 % de données d'entraînement et 20 % de données de test. En utilisant le modèle Train Test Split , nous terminerons d'abord le prétraitement des données avant le modèle de prédiction et l'analyse des données.
Afin de démarrer le prétraitement des données, nous devons d'abord installer quelques bibliothèques Python à l'aide de pip :
>>> pip installer des pandas
>>> pip installer sklearn
Après avoir installé les bibliothèques nécessaires, nous utiliserons la bibliothèque pandas pour importer le jeu de données et la bibliothèque sklearn pour exécuter la division du jeu de données :
Après avoir importé ces packages, nous lirons notre ensemble de données d'un fichier csv à une base de données pandas afin de pouvoir facilement modifier et manipuler lors de l'étape de prétraitement.
Maintenant, nous allons commencer à diviser le jeu de données en deux parties : x et y. Puisque nous voulons prédire le "Résultat", 0 étant pas de diabète et 1 étant le diabète , notre variable x inclura toutes les données sauf le "Résultat", tandis que notre variable y ne stockera que les valeurs "Résultat".
Par la suite, nous utiliserons enfin le modèle Train Test Split pour diviser la variable x en 80% x_train et 20% x_test . La même chose sera faite pour la variable y : 80 % y_train et 20 % y_test .
Pour vérifier ce qui s'est réellement passé, nous pouvons exécuter .head() ou .shape sur les trains et les tests pour voir comment les données ont été modifiées depuis le début de cet article jusqu'à maintenant.
Développement d'un modèle de prédiction
Après avoir divisé l'ensemble de données en quatre parties, nous allons maintenant commencer l'étape 2 du processus, en développant un modèle de prédiction. Nous utiliserons le modèle Random Forest Classifier , qui est idéal pour les prédictions de classification basées sur plusieurs facteurs, comme dans ce cas, pour nos prédictions.
Tout d'abord, nous allons importer notre modèle Random Forest Classifier de sklearn. Ensuite, après avoir défini le nom du modèle, il sera formé avec les x_train et y_train de l'ensemble de données, afin qu'il puisse trouver des modèles et des tendances entre les nombreuses variables indépendantes différentes dans le x_train et la variable "Outcome" dans le y_train . Une fois le processus de formation terminé, nous utiliserons notre modèle formé pour prédire le "résultat" de nos données x_test saisies sans lui donner les données y_test. Voici le code pour tout cela :
Avec les prédictions stockées dans la variable y_pred, nous aimerions voir à quel point nos prédictions étaient précises pour les données x-_test données en les comparant avec les résultats réels de y_test. En utilisant les métriques de la bibliothèque sklearn, nous découvrons que notre modèle était précis à environ 81 % avec ses prédictions.
Remarque : Le modèle Radom Forest Classifier, comme la plupart des modèles de prédiction sophistiqués, est conçu pour les grands ensembles de données. Sa fonction et ses prédictions sont beaucoup plus précises avec de « plus grandes » quantités de données, car il peut implémenter plus de données pour s'entraîner et apprendre, ce qui conduit à de meilleures prédictions et à une plus grande précision.
L'analyse des données
Dans la dernière étape du projet, nous aimerions effectuer une analyse des données pour en savoir plus sur les données et notre modèle de prédiction. Tout d'abord, nous utiliserons une matrice de confusion de sklearn pour en savoir plus sur nos prédictions et sur les erreurs. Nous devrons installer avec pip et importer les bibliothèques seaborn et matplotlib pour que ces analyses de données suivantes fonctionnent.
Comme nous pouvons le voir ici, la matrice de confusion nous indique le nombre de fois où notre modèle a prédit quelque chose de correct et de faux. De plus, la matrice de confusion montre les faux positifs et les faux négatifs créés par le modèle, ce qui en déduit qu'il a besoin de plus de données pour corriger ces erreurs.
Une autre technique d'analyse des données consiste à utiliser les scores d'importance des caractéristiques pour déterminer quelles variables indépendantes sont les plus importantes pour prédire le diabète ou non . Plus le score d'importance de la caractéristique est élevé, plus l'influence de cette variable sur le « résultat » du diabète est grande.
Pour afficher ces données graphiquement :
Conclusion
Ici, dans cet article, nous avons appris à diviser un ensemble de données de fichier csv en 4 sections différentes à l'aide du modèle Train Test Split, créé un modèle de prédiction en l'entraînant et en le testant, et également utilisé quelques techniques d'analyse de données pour comprendre les prédictions à portée de main. .
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































