Maison  >  Article  >  développement back-end  >  Exemple d'algorithme de régression logistique en Python

Exemple d'algorithme de régression logistique en Python

PHPz
PHPzoriginal
2023-06-11 17:52:331705parcourir

Exemple d'algorithme de régression logistique en Python

La régression logistique est un algorithme de classification couramment utilisé dans les domaines de l'apprentissage automatique et de l'analyse de données. Cet article expliquera comment utiliser l'algorithme de régression logistique pour la classification en Python. Les étapes spécifiques de mise en œuvre sont les suivantes :

Étape 1 : Importer les bibliothèques Python nécessaires

Avant de commencer à implémenter l'algorithme de régression logistique, nous devons importer le bibliothèques Python nécessaires, par exemple : NumPy et pandas (pour le traitement et le nettoyage des données), sklearn et matplotlib (pour la formation et l'évaluation des modèles et la visualisation des données). Le code spécifique est le suivant :

import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score,confusion_matrix
import matplotlib.pyplot as plt

%matplotlib inline

Étape 2 : Charger l'ensemble de données

Ensuite, nous devons charger l'ensemble de données. Ici, nous prenons l'ensemble de données sur l'iris (iris) comme exemple. Cet ensemble de données contient 4 caractéristiques de 3 espèces différentes d'iris (Setosa, Versicolour et Virginica) : longueur des sépales, largeur des sépales, longueur des pétales et largeur des pétales. Nous pouvons charger l'ensemble de données en utilisant pandas pour lire le fichier de données au format CSV, le code spécifique est le suivant :

data=pd.read_csv('iris.csv')
print(data.head())

Étape 3 : Traitement et séparation des données

Avant de saisir les données dans le modèle de régression logistique, nous devons traiter et séparez les données. Tout d'abord, nous devons séparer la colonne d'étiquettes dans l'ensemble de données en tant que variable cible (y), tout en utilisant les colonnes de fonctionnalités restantes comme variables indépendantes (X). Deuxièmement, nous devons traiter les données, notamment : traiter les données manquantes, traiter les valeurs aberrantes, convertir les variables catégorielles, etc. Ici, nous pouvons diviser aléatoirement l'ensemble de données en données d'entraînement et données de test en utilisant la fonction train_test_split de la bibliothèque sklearn. Le code spécifique est le suivant :

X=data.iloc[:,:-1]
y=data.iloc[:,-1]

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42)

Étape 4 : Formation et évaluation du modèle

Maintenant, nous pouvons utiliser l'algorithme de régression logistique pour ajuster les données de formation. Nous pouvons créer un objet de régression logistique en utilisant la classe LogisticRegression dans la bibliothèque sklearn, puis utiliser la méthode fit pour ajuster les données d'entraînement. Une fois la formation terminée, nous pouvons utiliser la méthode prédire pour prédire les données de test et utiliser les fonctions précision_score et confusion_matrix dans la bibliothèque sklearn pour évaluer le modèle. Le code spécifique est le suivant :

lr=LogisticRegression()
lr.fit(X_train,y_train)

y_pred=lr.predict(X_test)

acc=accuracy_score(y_test,y_pred)
cm=confusion_matrix(y_test,y_pred)

print('Accuracy:', acc)
print('Confusion Matrix:
', cm)

Étape 5 : Visualisation des résultats

Enfin, nous pouvons utiliser la bibliothèque matplotlib pour visualiser nos résultats. Par exemple, nous pouvons utiliser des nuages ​​de points ou des histogrammes pour montrer les caractéristiques des données et les limites de classification de régression logistique. Le code spécifique est le suivant :

colors=['blue','green','red']
markers=['o','s','^']
labels=['Setosa','Versicolour','Virginica']

for i, target in enumerate(set(data.iloc[:,-1])):
    plt.scatter(x=data.loc[data.iloc[:,-1]==target,'petal_length'], 
                y=data.loc[data.iloc[:,-1]==target,'petal_width'],
                c=colors[i],
                marker=markers[i],
                label=labels[i])

x=np.linspace(0,8,1000)
y=(-lr.coef_[0][0]*x-lr.intercept_)/lr.coef_[0][1]
plt.plot(x,y,'k-',label='Decision Boundary')

plt.xlabel('Petal Length')
plt.ylabel('Petal Width')
plt.legend(loc='lower right')
plt.show()

En résumé, ce qui précède constitue les étapes de base pour la mise en œuvre de l'algorithme de régression logistique en Python, qui peut être ajusté et amélioré en fonction d'ensembles de données spécifiques et de problèmes de classification. Bien que l’algorithme de régression logistique soit simple et facile à utiliser, il nécessite également une compréhension complète de ses principes ainsi qu’un traitement approprié des données et une optimisation du modèle pour obtenir de meilleurs résultats de classification.

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