Régression linéaire en Python

Régression linéaire en Python

Dans l'analyse des données, les influenceurs clés sont des variables qui ont un impact significatif sur une variable dépendante. En d'autres termes, ce sont les facteurs qui contribuent le plus au résultat d'intérêt. En Python, la régression linéaire est utilisée pour identifier les influenceurs clés dans un ensemble de données et pour mesurer la force et la direction de la relation entre différentes variables. Vous pouvez regarder la vidéo complète de ce tutoriel au bas de ce blog .

L'identification des influenceurs clés peut être utile pour comprendre les relations sous-jacentes dans un ensemble de données et pour faire des prédictions sur les résultats futurs.

Les bibliothèques Python fournissent une gamme d'outils et de fonctions pour effectuer une analyse de régression et identifier les principaux influenceurs dans un ensemble de données.

Table des matières

Utilisation d'un modèle de régression linéaire

Dans cet article, je vais montrer comment vous pouvez utiliser un modèle de régression linéaire pour imiter certains des influenceurs clés de LuckyTemplates. Notre objectif est d'utiliser toutes nos variables pour pouvoir décrire ce qui change dans une autre variable.

Les influenceurs clés de LuckyTemplates sont un modèle de régression linéaire. Souvent, nous l'utilisons même si nous ne savons pas exactement ce qu'il y a sous le capot. Dans ce didacticiel, je l'utilise pour identifier les facteurs contribuant aux frais d'assurance.

Régression linéaire en Python

Jetons un coup d'œil à l'ensemble de données des frais d'assurance. Je veux que cela soit expliqué par le statut de fumeur, le sexe, la région, les enfants, l'IMC et l'âge.

Régression linéaire en Python

Actuellement, les influenceurs clés affichent la variable la plus influente. Lorsque le fumeur est oui, la charge moyenne est supérieure de 23 615 $ par unité à toutes les autres valeurs d'un fumeur.

C'est un excellent visuel, mais il ne nous donne aucune autre variable pouvant affecter les charges.

Régression linéaire en Python

Plongeons-y en profondeur en changeant la liste déroulante de Augmenter à Diminuer .

Cette fois-ci, c'est le contraire. Si vous n'êtes pas fumeur, la charge moyenne est inférieure de 23 615 $ par unité à toutes les autres valeurs d'un fumeur.

Régression linéaire en Python

Comme vous pouvez le voir, il s'agit d'un modèle de régression linéaire que j'ai construit à l'aide de certains codes Python et transmis à LuckyTemplates avec une mise en forme conditionnelle minimale .

En termes de codage, nous en avons le contrôle total, et vous verrez comment j'ai construit cela comme une alternative ou un complément au visuel des influenceurs clés.

Régression linéaire en Python

Passons au carnet de Jupiter. Pour une meilleure compréhension, laissez-moi vous expliquer ces parties par parties.

Régression linéaire en Python

Bibliothèques Python utilisées

La première partie est celle où j'ai chargé toutes les bibliothèques que je veux utiliser. Si vous n'êtes pas familier avec les bibliothèques, ce sont des collections de codes et de fonctions que les développeurs ont construits pour nous.

J'ai importé pandas en tant que pd qui est une bibliothèque de manipulation de données, et numpy en tant que np pour nous permettre de faire des calculs linéaires et conditionnels.

Modèles utilisés

Parlons des modèles que j'ai utilisés. J'ai apporté sklearn.linear_model qui est une et j'ai utilisé un modèle de régression linéaire. Juste au cas où nous en aurions besoin, j'ai également apporté sklearn.preprocessing import StandardScaler qui nous permettra de mettre à l'échelle nos données.

Un autre modèle que j'utilise s'appelle xgboost import XGBRegressor . C'est un modèle de régression avec un arbre de décision et d'autres aspects utiles.

De plus, j'ai également utilisé train_set_split car je veux pouvoir diviser les données entre un ensemble d'entraînement et un ensemble d'apprentissage. Dans Machine Learning, nous avons besoin d'un ensemble de données d'entraînement pour que l'algorithme apprenne avant de faire des prédictions.

J'ai également apporté mean_squared_error pour déterminer le modèle et la bibliothèque matplotlib.pyplot au cas où nous voudrions faire des visuels.

Nous ne les utiliserons peut-être pas tous, mais cela pourrait être utile, alors je les ai tous mis.

Régression linéaire en Python

Jeu de données utilisé

Ensuite, examinons rapidement le jeu de données. J'ai utilisé la fonction df = pd.read_csv pour importer l'ensemble de données d'assurance, puis j'ai converti les données en variables factices en utilisant df1 = pd.get_dummies (df, drop_first = True) .

Régression linéaire en Python

Pour ce faire, créons une nouvelle cellule en appuyant sur Esc + B sur notre clavier puis tapons df.head pour évaluer les données.

Nous avons l'âge, le sexe, l'IMC, les enfants, le fumeur, la région et les frais que nous voulons prédire comme variable dépendante. Ce sont les données qui arrivent sans être préparées pour l'apprentissage automatique.

Dans l'apprentissage automatique, nous ne pourrons pas utiliser de variables catégorielles telles que femme, homme, sud-ouest et nord-ouest. Par conséquent, la première chose que nous devons faire s'il s'agit d'un modèle de régression typique est de traduire les variables catégorielles en entrée numérique. 

Régression linéaire en Python

Pour ce faire, j'ai utilisé la fonction pd.get_dummies , puis j'ai également changé cela en une colonne numérique en changeant df.head en df1.head . Cliquons sur le bouton Exécuter pour montrer à quoi il ressemble.

Régression linéaire en Python

Nous pouvons maintenant voir cette nouvelle collection de colonnes telles que sex_male , smoker_yes , region_northwest , etc. L'algorithme sait automatiquement que si c'est 1 cela signifie oui et 0 signifie non.

Visiblement, il n'y a pas sex_female et region_northeast car nous ne voulons pas trop compliquer le modèle. Nous les avons supprimés en utilisant la fonction drop_first = True .

La prochaine chose que j'ai faite est d'apporter la fonction LinearRegression et de l'enregistrer sur le modèle variable. 

J'ai également créé des variables X et Y pour prédire nos variables Y, puis j'ai ajouté toutes les autres colonnes pour nos prédicteurs en utilisant le même ensemble de données que nous avons utilisé précédemment.

Régression linéaire en Python

Pour la variable X, nous avons utilisé df1.drop ('charges', axis=1) pour supprimer les charges. D'autre part, nous avons besoin de frais pour la variable Y, c'est pourquoi nous avons mis df1['charges'] .

Avec les fonctions ci-dessous, j'ai créé des ensembles d'entraînement et de test pour X et Y en utilisant la fonction train_test_split et je les ai transmis aux variables X et Y.

De plus, j'ai utilisé model.fit pour adapter les données d'entraînement à notre modèle. Cela signifie que le modèle de régression linéaire va apprendre les données d'apprentissage. 

Régression linéaire en Python

Cette fois-ci, jetons un coup d'œil à nos prédicteurs. Nous voyons cela à travers des coefficients, car ils décrivent comment chacune de ces caractéristiques ou variables affecte les charges.

Il est également à noter que le nombre de coefficients pour smoker_yes est très proche si vous le comparez au nombre de ce que nous avons pour les influenceurs clés et dans notre modèle. 

Pour créer un tableau où nous avons les caractéristiques et les coefficients, j'ai utilisé pd.DataFrame afin d'introduire les coefficients dans le tableau et de créer le visuel.

Régression linéaire en Python

Régression linéaire en Python

Utilisation de différents modèles pour le visuel des influenceurs clés

Il est également conseillé d'utiliser différents modèles pour obtenir les influenceurs clés en faisant intervenir XGB.Regressor

Lorsque nous représentons le modèle, c'est juste une simple régression linéaire ; mais lorsque nous avons intégré XGB.Regressor, nous pouvons utiliser de nombreux paramètres pour optimiser le modèle.

Régression linéaire en Python

J'ai également reproduit ces fonctions lorsque j'ai créé le cadre de données ci-dessous. Ces coefficients sont très différents par rapport à ce que nous avons vu en régression linéaire.

Régression linéaire en Python

Avec ce tableau, les chiffres sont exacts. Par exemple, si vous êtes fumeur, vos frais augmenteront de 23 787 $. Si vous avez un enfant, cela va augmenter de 472 $, et ainsi de suite.

Régression linéaire en Python

Ces influenceurs sont également importants car ils reflètent ce que nous avons sur le tableau de régression linéaire. C'est un peu différent mais très proche car ces influenceurs se résument à un. C'est juste une façon différente de voir les influenceurs.

Régression linéaire en Python

Test de la précision de l'analyse de régression linéaire

Après cela, nous voulons voir la précision de notre modèle, c'est pourquoi nous avons utilisé y_pred = model.predict (X_test) . Il est venu avec une prédiction qu'il était hors de 5885,7. 

Il ne s'agit que d'un ensemble de données de test et, que la prédiction soit bonne ou mauvaise, nous devons encore l'évaluer. Nous n'allons pas le faire pour le moment puisque nous nous concentrons uniquement sur nos principaux influenceurs. 

Régression linéaire en Python

Pour en revenir au LuckyTemplates, je vais vous montrer comment je mets cela très facilement. Il s'agit d'un tableau séparé où vous pouvez voir les fonctionnalités et les influenceurs. 

Régression linéaire en Python

Je l'ai fait en allant dans Transform data .

Régression linéaire en Python

Ensuite, j'ai dupliqué mon jeu de données et j'ai pu créer cette table. Nous pouvons également accéder aux étapes appliquées pour voir le code Python et revoir les variables que nous avons utilisées.

Régression linéaire en Python

Ouvrons le script Python en double-cliquant dessus. 

Régression linéaire en Python

Nous avons apporté nos bibliothèques. Nous l'avons converti en un ensemble de données d'apprentissage automatique et de prétraitement composé uniquement de zéros et de uns. 

De plus, nous avons introduit un modèle de régression, créé nos X et Y pour ajuster les données, puis enregistré la table en sortie. Le modèle est assez bon, donc je n'ai pas utilisé d'ensemble de test d'entraînement.

Une autre chose que j'ai faite est de basculer l'ensemble de données sur df car c'est simplement plus facile à écrire. L'ensemble de données est la variable des données d'origine.

Avec ce tableau, je l'ai enregistré en sortie, c'est pourquoi nous avons ces coefficients.

Régression linéaire en Python

Pour l'afficher sous forme de visuel, cliquez sur Fermer et appliquer .

Régression linéaire en Python

Nous avons maintenant un graphique à barres . J'ai également utilisé la mise en forme conditionnelle pour montrer les points positifs et négatifs.

Régression linéaire en Python


Comment installer DAX Studio et l'éditeur tabulaire dans LuckyTemplates
Configurer les paramètres de requête dans LuckyTemplates DAX Studio
Paramètres LuckyTemplates via l'éditeur de requête

Conclusion

En conclusion, comprendre les principaux influenceurs et mettre en œuvre la régression linéaire en Python peut être un outil puissant pour l'analyse et la prédiction des données.

En identifiant les facteurs clés qui ont un impact sur une variable dépendante et en utilisant la régression linéaire pour modéliser leurs relations, nous pouvons mieux comprendre et prédire les résultats futurs .

Grâce à l'utilisation des puissantes bibliothèques de Python, il est facile d' implémenter une régression linéaire et d'extraire des informations significatives à partir des données.

Tous mes vœux,


Gestion des erreurs dans Power Automate via le branchement parallèle

Gestion des erreurs dans Power Automate via le branchement parallèle

Découvrez l

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Comparaison de tables dans Power Query | Tutoriel LuckyTemplates

Découvrez comment comparer facilement des tables dans Power Query pour signaler les différences et optimiser vos analyses de données.

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Colonne fractionnée LuckyTemplates par délimiteurs dans DAX

Dans ce blog, vous découvrirez comment diviser les colonnes dans LuckyTemplates par délimiteurs à l'aide de DAX, une méthode efficace pour gérer des modèles de données complexes.

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

SELECTEDVALUE DAX Exemple - Sélection de trancheuse de récolte

Découvrez comment récolter une valeur avec SELECTEDVALUE DAX pour des calculs dynamiques dans LuckyTemplates.

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculer la marge en pourcentage dans LuckyTemplates à laide de DAX

Calculez la marge en pourcentage à l

Modifier les formats de date à laide de léditeur Power Query

Modifier les formats de date à laide de léditeur Power Query

Dans ce didacticiel, nous allons explorer une méthode rapide pour convertir du texte en formats de date à l

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Enregistrer la pièce jointe dun e-mail sur SharePoint avec Power Automate

Dans ce blog, vous apprendrez à enregistrer automatiquement la pièce jointe d

Comment adapter les cellules Excel au texte : 4 solutions simples

Comment adapter les cellules Excel au texte : 4 solutions simples

Découvrez comment adapter les cellules Excel au texte avec ces 4 solutions simples pour améliorer la présentation de vos données.

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Générateur de rapports SSRS : formater les en-têtes dans un rapport paginé

Dans ce didacticiel SSRS Report Builder, découvrez comment utiliser le générateur d

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Thème de couleur dans les rapports LuckyTemplates - Conseils et techniques

Découvrez les outils pour créer un thème de couleur efficace pour vos rapports LuckyTemplates et améliorer leur apparence.