Régression logistique pour l'apprentissage automatique : un guide complet
Publié: 2021-10-04Les modèles d'apprentissage automatique nécessitent des algorithmes pour fonctionner. En fonction de l'ensemble de conditions, un modèle ML particulier peut mieux fonctionner en utilisant l'un ou l'autre algorithme. Par conséquent, les ingénieurs et les passionnés de Machine Learning doivent être conscients des différents types d'algorithmes qui peuvent être utilisés dans différents contextes - pour savoir lequel utiliser le moment venu. Il n'y a jamais de solution unique dans l'apprentissage automatique, et l'ajustement avec différents algorithmes peut fournir les résultats souhaités.
Par exemple, vous devez déjà connaître la régression linéaire. Cependant, cet algorithme ne peut tout simplement pas être appliqué à des variables catégoriquement dépendantes. C'est là que la régression logistique est utile.
Dans Machine Learning, la régression logistique est une méthode d'apprentissage supervisée utilisée pour prédire la probabilité d'une variable dépendante ou cible. À l'aide de la régression logistique, vous pouvez prédire et établir des relations entre une variable dépendante et une ou plusieurs variables indépendantes.
Les équations et les modèles de régression logistique sont généralement utilisés pour l'analyse prédictive pour la classification binaire. Vous pouvez également les utiliser pour la classification multi-classes.
Voici à quoi ressemble l'équation de régression logistique pour l'apprentissage automatique :
logit(p) = ln(p/(1-p)) = h0+h1X1+h2X2+h3X3….+hkXk
Où;
p= probabilité d'occurrence de la caractéristique
x1,x2,..xk = ensemble d'entités en entrée
h1,h2,….hk = valeurs paramétriques à estimer dans l'équation de régression logistique.
Table des matières
Types de modèles de régression logistique dans l'apprentissage automatique
En fonction de la manière dont la régression logistique est utilisée, le type de modèles de régression logistique peut être classé comme suit :
1. Modèle de régression logistique binaire
C'est l'un des modèles de régression les plus couramment utilisés pour la régression logistique. Il permet de catégoriser les données en deux classes et de prédire la valeur d'une nouvelle entrée comme appartenant à l'une des deux classes. Par exemple, la tumeur d'un patient peut être bénigne ou maligne, mais jamais les deux.
2. Modèle de régression logistique multinomiale
Ce modèle permet de classer les variables cibles en plus de deux classes – indépendamment de toute signification quantitative. Un exemple de ceci pourrait être de prédire le type de nourriture qu'un individu est susceptible de commander en fonction de ses préférences alimentaires et de ses expériences passées.
Rejoignez le cours d'apprentissage automatique en ligne des meilleures universités du monde - Masters, programmes de troisième cycle pour cadres et programme de certificat avancé en ML et IA pour accélérer votre carrière.
3. Modèle de régression logistique ordinale
Ce modèle est utilisé pour classer la variable cible. Par exemple, la performance d'un étudiant à un examen peut être classée comme mauvaise, bonne et excellente dans un ordre hiérarchique. De cette façon, les données sont classées en trois catégories distinctes, chaque classe ayant un niveau d'importance spécifique.
L'équation de régression logistique peut être utilisée dans plusieurs cas, tels que la détection de spam, la classification des tumeurs, la catégorisation par sexe, et bien d'autres. Examinons deux des exemples d'utilisation les plus courants de l'équation de régression logistique dans Machine Learning pour vous aider à mieux comprendre.
Exemples de cas d'utilisation de l'équation de régression logistique
Exemple 1 : Identification des courriers indésirables
Considérez la classe 1 si l'e-mail est un spam et 0 si l'e-mail ne l'est pas. Pour détecter cela, plusieurs attributs sont analysés à partir du corps du message. Ceux-ci inclus:
- L'expéditeur
- Fautes d'orthographe
- Mots-clés dans l'e-mail tels que "coordonnées bancaires", "chanceux", "gagnant", "félicitations".
- Coordonnées ou URL dans l'e-mail
Ces données extraites peuvent ensuite être introduites dans l'équation de régression logistique pour l'apprentissage automatique qui analysera toutes les entrées et fournira un score compris entre 0 et 1. Si le score est supérieur à 0 mais inférieur à 0,5, l'e-mail sera classé comme spam, et si le score est compris entre 0,5 et 1, le courrier est marqué comme non-spam.
Exemple 2 : Identification d'une fraude par carte de crédit
À l'aide d'équations de régression logistique ou de modèles d'apprentissage automatique basés sur la régression logistique, les banques peuvent identifier rapidement les transactions frauduleuses par carte de crédit. Pour cela, des détails tels que le PoS, le numéro de carte, la valeur de la transaction, les données de transaction, etc. sont introduits dans le modèle de régression logistique, qui décide si une transaction donnée est authentique (0) ou frauduleuse (1). Par exemple, si la valeur d'achat est trop élevée et s'écarte des valeurs typiques, le modèle de régression attribue une valeur (entre 0,5 et 1) qui classe la transaction comme fraude.
Fonctionnement de la régression logistique dans l'apprentissage automatique
La régression logistique fonctionne en utilisant la fonction sigmoïde pour mapper les prédictions aux probabilités de sortie. Cette fonction est une courbe en forme de S qui trace les valeurs prédites entre 0 et 1. Les valeurs sont ensuite tracées vers les marges en haut et en bas de l'axe Y, en utilisant 0 et 1 comme étiquettes. Ensuite, en fonction de ces valeurs, les variables indépendantes peuvent être classées.
Voici à quoi ressemble la fonction Sigmoid :
La fonction sigmoïde est basée sur l'équation suivante :
y=1/(1+e^x)
Où e^x= la constante exponentielle avec une valeur de 2,718.
L'équation de la fonction sigmoïde ci-dessus fournit la valeur prédite (y) égale à zéro si x est considéré comme négatif. Si x est un grand nombre positif, la valeur prédite est proche de un.
Construire un modèle de régression logistique en Python
Passons en revue le processus de création d'un modèle de régression logistique en Python. Pour cela, utilisons l'ensemble de données du réseau social pour effectuer l'analyse de régression, et essayons de prédire si un individu achètera ou non une voiture particulière. Voici à quoi ressemblent les étapes.
Étape 1 : Importation des bibliothèques et du jeu de données
Il commence par importer les bibliothèques nécessaires à la construction du modèle. Cela inclut Pandas, Numpy et Matplotlib. Nous devons également importer le jeu de données avec lequel nous allons travailler. Voici à quoi ressemble le code :
importer numpy en tant que np
importer matplotlib.pyplot en tant que pt
importer des pandas en tant que pd
jeu de données = pd.read_csv('Social_Network.csv')
Étape 2 : Division en variables dépendantes et indépendantes
Il est maintenant temps de diviser les données alimentées en variables dépendantes et indépendantes. Pour cet exemple, nous considérerons la valeur d'achat comme variable dépendante pendant le salaire estimé et l'âge des individus comme variables indépendantes.
x = dataset.iloc[:, [2,3]].values
y = dataset.iloc[:, 4].values
Étape 3 : Diviser l'ensemble de données en un ensemble d'apprentissage et un ensemble de test
Il est essentiel de diviser l'ensemble de données en ensembles d'entraînement et de test spécifiques. L'ensemble de formation formera l'équation de régression logistique, tandis que les données de test seront utilisées pour valider la formation du modèle et la tester. Sklearn est utilisé pour diviser l'ensemble de données donné en deux ensembles. Nous utilisons la fonction train_split_function en spécifiant la quantité de données que nous souhaitons mettre de côté pour la formation et les tests.
depuis sklearn.model_selection importer train_test_split
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.33, random_state = 0)
Comme vous pouvez le voir, nous avons défini la taille du test à 33 % de l'ensemble de données complet. Ainsi, les 66 % restants seront utilisés comme données d'entraînement.
Étape 4 : Mise à l'échelle
Pour améliorer la précision de votre modèle de régression logistique, vous devrez redimensionner les données et apporter des valeurs qui peuvent être de nature très variable.
depuis sklearn.preprocessing importer StandardScaler
sc_X = StandardScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
Étape 5 : Construire le modèle de régression logistique
Une fois cela fait, vous devez créer le modèle de régression logistique et l'intégrer à l'ensemble d'apprentissage. Commencez par importer l'algorithme de régression logistique de Sklearn.
de sklearn.linear_model importer LogisticRegression
Ensuite, créez un classificateur d'instance pour ajuster les données d'apprentissage.
classificateur = LogisticRegression(random_state=0)
classificateur.fit(x_train, y_train)
Ensuite, créez des prédictions sur l'ensemble de données de test.
y_pred = classifier.predict(x_test)
Enfin, vérifiez les performances de votre modèle de régression logistique à l'aide de la matrice de confusion.
depuis sklearn.metrics importer confusion_matrix
cm = confusion_matrix(y_test, y_pred)
acc = score_précision(y_test, y_pred)
imprimer (selon)
impression (cm)
Maintenant, vous pouvez utiliser Matplotlib pour visualiser l'intégralité de l'ensemble de données, y compris les ensembles d'entraînement et de test !
En conclusion
La régression logistique est l'un des outils qui aident au développement de modèles et d'algorithmes d'apprentissage automatique. De même, il existe également plusieurs autres algorithmes qui sont utilisés en fonction du cas d'utilisation en cours. Cependant, pour savoir quel algorithme utiliser, vous devez connaître toutes les options possibles. Ce n'est qu'alors que vous serez en mesure de sélectionner l'algorithme le plus adapté à votre ensemble de données.
Découvrez notre programme Executive PG en Machine Learning conçu de manière à vous faire partir de zéro et à vous aider à développer vos compétences au plus haut niveau - afin que vous soyez en mesure de résoudre tout problème réel de Machine Learning. Découvrez les différents cours et inscrivez-vous à celui qui vous convient. Rejoignez upGrad et découvrez un environnement d'apprentissage holistique et un soutien au placement !
La régression logistique est globalement de trois types : La régression logistique est l'une des méthodes d'apprentissage supervisé utilisées pour trouver et construire la meilleure relation d'ajustement entre les variables dépendantes et indépendantes afin de faire des prédictions futures appropriées. La régression logistique pour l'apprentissage automatique utilise la fonction sigmoïde pour trouver la meilleure courbe d'ajustement.Combien de types de régression logistique pour l'apprentissage automatique sont possibles ?
1. Binaire
2. Multinomial
3. Ordinaire. À quoi sert la régression logistique dans l'apprentissage automatique ?
Quelle est la fonction utilisée par la régression logistique pour l'apprentissage automatique ?