Régression logistique dans Python

Régression logistique dans Python
La régression logistique est un algorithme de classification d'apprentissage automatique. La régression logistique est également similaire à la régression linéaire. Mais la principale différence entre la régression logistique et la régression linéaire est que les valeurs de sortie de régression logistique sont toujours binaires (0, 1) et non numériques. La régression logistique crée essentiellement une relation entre les variables indépendantes (un ou plusieurs) et les variables dépendantes. La variable dépendante est une variable binaire qui a principalement deux cas:
  • 1 pour vrai ou
  • 0 pour false

L'importance clé de la régression logistique:

  1. Les variables indépendantes ne doivent pas être la multicolinéarité; S'il y a une relation, alors ça devrait être très peu.
  2. L'ensemble de données de la régression logistique devrait être suffisamment grand pour obtenir de meilleurs résultats.
  3. Seuls ces attributs devraient être là dans l'ensemble de données, qui a une certaine signification.
  4. Les variables indépendantes doivent être en fonction du cotes de journal.

Pour construire le modèle du régression logistique, nous utilisons le scikit-apprend bibliothèque. Le processus de la régression logistique dans Python est donné ci-dessous:

  1. Importez tous les packages requis pour la régression logistique et d'autres bibliothèques.
  2. Télécharger l'ensemble de données.
  3. Comprendre les variables de données indépendantes et les variables dépendantes.
  4. Divisez l'ensemble de données en données de formation et de test.
  5. Initialiser le modèle de régression logistique.
  6. Ajuster le modèle avec l'ensemble de données d'entraînement.
  7. Prédire le modèle à l'aide des données de test et calculez la précision du modèle.

Problème: Les premières étapes consistent à collecter l'ensemble de données sur lequel nous voulons appliquer le Régression logistique. L'ensemble de données que nous allons utiliser ici est pour l'ensemble de données d'admission MS. Cet ensemble de données a quatre variables et à l'extérieur dont trois sont des variables indépendantes (GRE, GPA, Work_Experience), et l'une est une variable dépendante (admise). Cet ensemble de données indiquera si le candidat sera admis ou non dans une université prestigieuse basée sur son GPA, GRE ou Work_Experience.

Étape 1: Nous importons toutes les bibliothèques requises dont nous avons besoin pour le programme Python.

Étape 2: Maintenant, nous chargeons notre ensemble de données d'admission MS à l'aide de la fonction Read_CSV Pandas.

Étape 3: L'ensemble de données ressemble ci-dessous:

Étape 4: Nous vérifions toutes les colonnes disponibles dans l'ensemble de données, puis définissons toutes les variables indépendantes sur la variable x et les variables dépendantes sur Y, comme indiqué dans la capture d'écran ci-dessous.

Étape 5: Après avoir défini les variables indépendantes sur x et la variable dépendante sur Y, nous imprimons maintenant ici pour recouper X et Y en utilisant la fonction de pandas de tête.

Étape 6: Maintenant, nous allons diviser l'ensemble de données en formation et tester. Pour cela, nous utilisons la méthode Train_Test_Split de Sklearn. Nous avons donné 25% de l'ensemble de données au test et les 75% restants de l'ensemble de données à la formation.

Étape 7: Maintenant, nous allons diviser l'ensemble de données en formation et tester. Pour cela, nous utilisons la méthode Train_Test_Split de Sklearn. Nous avons donné 25% de l'ensemble de données au test et les 75% restants de l'ensemble de données à la formation.

Ensuite, nous créons le modèle de régression logistique et montons les données d'entraînement.

Étape 8: Maintenant, notre modèle est prêt pour la prédiction, nous passons donc maintenant les données du test (x_test) au modèle et obtenons les résultats. Les résultats montrent (y_predictions) que les valeurs 1 (admis) et 0 (non admis).

Étape 9: Maintenant, nous imprimons le rapport de classification et la matrice de confusion.

Le Classification_Report montre que le modèle peut prédire les résultats avec une précision de 69%.
La matrice de confusion montre le total des détails de données X_Test comme:
Tp = vrai positif = 8
Tn = vrai négatifs = 61
FP = faux positifs = 4
Fn = faux négatifs = 27

Ainsi, la précision totale selon la confusion_matrix est:

Précision = (tp + tn) / total = (8 + 61) / 100 = 0.69

Étape 10: Maintenant, nous allons vérifier le résultat par l'impression. Donc, nous imprimons simplement les 5 premiers éléments du X_Test et Y_Test (valeur réelle réelle) en utilisant la fonction Pandas Head. Ensuite, nous imprimons également les 5 premiers résultats des prédictions comme indiqué ci-dessous:

Nous combinons les trois résultats dans une feuille pour comprendre les prédictions comme indiqué ci-dessous. Nous pouvons voir qu'à l'exception des données 341 X_Test, qui était vraie (1), la prédiction est fausse (0) autrement. Ainsi, nos prédictions de modèle fonctionnent 69%, comme nous l'avons déjà montré ci-dessus.

Étape 11: Nous comprenons donc comment les prédictions du modèle sont effectuées sur l'ensemble de données invisible comme X_Test. Nous avons donc créé un nouveau jeu de données au hasard à l'aide d'un Pandas DataFrame, l'avons transmis au modèle formé et obtenu le résultat indiqué ci-dessous.

Le code complet de Python ci-dessous:

Le code de ce blog, avec l'ensemble de données, est disponible sur le lien suivant
https: // github.com / shekharpandey89 / régression logistique