Python est un langage de programmation largement utilisé dans les domaines de la science des données et du machine learning. La régression logistique est un algorithme d'apprentissage automatique courant qui peut faire des prédictions dans le contexte de problèmes de classification. Dans cet article, nous allons implémenter la régression logistique à l'aide de Python et illustrer son application à l'aide d'un exemple. ”
1. Introduction à la régression logistique
La régression logistique est un algorithme d'apprentissage automatique courant qui est généralement utilisé pour faire des prédictions dans le contexte de problèmes de classification. a La fonction logistique ajuste les données dans une équation linéaire, puis mappe le résultat entre [0,1] pour obtenir la valeur de probabilité. Lorsque la valeur de probabilité est supérieure ou égale à un seuil, nous prédisons le résultat comme étant positif. classe, sinon nous la prédisons comme une classe négative.
2 Implémentation de la régression logistique
En Python, nous pouvons utiliser votre NumPy, Pandas et Scikit-learn. et d'autres fonctions de bibliothèque pour implémenter la régression logistique. Un exemple de code :
import numpy as np import pandas as pd from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split # 读取数据集 data = pd.read_csv('data.csv') # 划分数据集为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(data[['feature1', 'feature2', 'feature3']], data['target'], test_size=0.3, random_state=42) # 创建逻辑回归模型对象 logreg = LogisticRegression() # 训练模型 logreg.fit(X_train, y_train) # 预测测试集 y_pred = logreg.predict(X_test) # 输出模型准确度 print('模型准确度为:', (y_pred == y_test).mean())
3. Exemple de régression logistique
Dans cet exemple, nous considérons un problème de classification binaire : prédire si un la personne a la probabilité d'acheter un article. Notre ensemble de données contient des échantillons avec des résultats connus. Utilisez cet ensemble de données pour entraîner notre modèle, puis faites des prédictions sur l'ensemble de test pour voir la précision du modèle 🎜#L'ensemble de données a trois caractéristiques : intention d'achat, pouvoir d'achat et habitudes d'achat. Chaque caractéristique est une valeur continue. La variable cible est binaire, indiquant s'il faut acheter le produit. Voici un exemple d'ensemble de données :
#🎜🎜 ##🎜. 🎜#
Feature1Feature3 | Cible | #🎜🎜 ## 🎜🎜## 🎜🎜#2 | 3 |
---|---|---|---|
#🎜🎜 # | #🎜 🎜#32 | 3 | 1 |
# 🎜🎜#1#🎜🎜 # | 31 | 0 | |
2 | 3 | 1 | |
3 | #🎜 🎜#41 | 2 | |
# 🎜🎜#2#🎜🎜 # | 01 | 2 | |
0 | 1 | 1 | |
0 | #🎜 🎜#3 | 2 | 4 |
# 🎜🎜# | 1 | 1 | 1 |
#🎜🎜 # | #🎜 🎜# Nous pouvons utiliser la bibliothèque Scikit-learn pour lire les données sous forme de trame de données Pandas et les diviser en un ensemble d'entraînement et un ensemble de test :import pandas as pd from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # 读取数据集 data = pd.read_csv('data.csv') # 划分数据集为训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(data[['feature1', 'feature2', 'feature3']], data['target'], test_size=0.3, random_state=42) Copier après la connexion | Ensuite, nous pouvons créer un objet pour notre modèle et utilisez les données de formation pour ajuster le modèle. from sklearn.linear_model import LogisticRegression # 创建逻辑回归模型对象 logreg = LogisticRegression() # 训练模型 logreg.fit(X_train, y_train) Copier après la connexion | Ensuite, nous utilisons les données de test pour prédire le modèle et calculer la précision du modèle sur les données de test : # 预测测试集 y_pred = logreg.predict(X_test) # 输出模型准确度 print('模型准确度为:', accuracy_score(y_test, y_pred)) Copier après la connexion |