Science des données

Régression logistique en Python

Régression logistique en 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 la 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 (une ou plusieurs) et les variables dépendantes. La variable dépendante est une variable binaire qui a principalement deux cas :

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

  1. Les variables indépendantes ne doivent pas être de multicolinéarité ; s'il y a une relation, alors elle devrait être très petite.
  2. L'ensemble de données pour la régression logistique doit être suffisamment grand pour obtenir de meilleurs résultats.
  3. Seuls ces attributs doivent être présents dans l'ensemble de données, ce qui a une certaine signification.
  4. Les variables indépendantes doivent être conformes à la notez les cotes.

Pour construire le modèle de la régression logistique, nous utilisons le scikit-apprendre bibliothèque. Le processus de la régression logistique en 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 indépendantes de l'ensemble de données et les variables dépendantes.
  4. Diviser l'ensemble de données en données d'entraînement 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 calculer 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 dont trois sont des variables indépendantes (GRE, GPA, work_experience), et une est une variable dépendante (admis). Cet ensemble de données indiquera si le candidat sera admis ou non dans une université prestigieuse en fonction de son GPA, GRE ou work_experience.

Étape 1: Nous importons toutes les bibliothèques requises dont nous avions 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 à l'aide de la fonction head pandas.

Étape 6 : Maintenant, nous allons diviser l'ensemble de données en formation et test. 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 test. 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 ajustons 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 de 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 classement_report montre que le modèle peut prédire les résultats avec une précision de 69 %.
La matrice de confusion affiche le total des détails des données X_test comme suit :
TP = vrais positifs = 8
TN = vrais négatifs = 61
FP = faux positifs = 4
FN = faux négatifs = 27

Ainsi, la précision totale selon confusion_matrix est :

Précision = (TP+TN)/Total = (8+61)/100 = 0.69

Étape 10 : Maintenant, nous allons recouper le résultat à travers l'impression. Donc, nous imprimons simplement les 5 premiers éléments du X_test et du y_test (valeur réelle réelle) en utilisant la fonction head pandas. 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 341 données X_test, qui étaient vraies (1), la prédiction est fausse (0) sinon. Ainsi, nos prédictions de modèle fonctionnent à 69%, comme nous l'avons déjà montré ci-dessus.

Étape 11 : Ainsi, nous comprenons 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 nouvel ensemble de données au hasard à l'aide d'un cadre de données de pandas, l'avons transmis au modèle entraîné et avons obtenu le résultat indiqué ci-dessous.

Le code complet en python donné ci-dessous :

Le code de ce blog, ainsi que l'ensemble de données, sont disponibles sur le lien suivant
https://github.com/shekharpandey89/logistic-regression

Comment capturer et diffuser votre session de jeu sur Linux
Dans le passé, jouer à des jeux n'était considéré qu'un passe-temps, mais avec le temps, l'industrie du jeu a connu une croissance énorme en termes de...
Meilleurs jeux à jouer avec le suivi des mains
Oculus Quest a récemment introduit l'idée géniale du suivi manuel sans contrôleurs. Avec un nombre toujours croissant de jeux et d'activités qui exécu...
Comment afficher la superposition OSD dans les applications et jeux Linux en plein écran
Jouer à des jeux en plein écran ou utiliser des applications en mode plein écran sans distraction peut vous couper des informations système pertinente...