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,


Quest-ce que le self en Python ? Exemples concrets

Quest-ce que le self en Python ? Exemples concrets

Qu'est-ce que le self en Python ? Exemples concrets

Comment enregistrer et charger un fichier RDS dans R

Comment enregistrer et charger un fichier RDS dans R

Vous apprendrez à enregistrer et à charger des objets à partir d'un fichier .rds dans R. Ce blog expliquera également comment importer des objets de R vers LuckyTemplates.

First N Business Days Revisited - Une solution de langage de codage DAX

First N Business Days Revisited - Une solution de langage de codage DAX

Dans ce didacticiel sur le langage de codage DAX, découvrez comment utiliser la fonction GENERATE et comment modifier dynamiquement le titre d'une mesure.

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Présentez des informations à laide de la technique des visuels dynamiques multi-threads dans LuckyTemplates

Ce didacticiel explique comment utiliser la technique Multi Threaded Dynamic Visuals pour créer des informations à partir de visualisations de données dynamiques dans vos rapports.

Introduction au filtrage du contexte dans LuckyTemplates

Introduction au filtrage du contexte dans LuckyTemplates

Dans cet article, je vais parcourir le contexte du filtre. Le contexte de filtrage est l'un des principaux sujets que tout utilisateur de LuckyTemplates doit d'abord connaître.

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Meilleurs conseils pour utiliser les applications dans le service en ligne LuckyTemplates

Je souhaite montrer comment le service en ligne LuckyTemplates Apps peut aider à gérer différents rapports et informations générés à partir de diverses sources.

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Analyser les changements de marge bénéficiaire au fil du temps - Analytics avec LuckyTemplates et DAX

Découvrez comment calculer les modifications de votre marge bénéficiaire à l'aide de techniques telles que la création de branches de mesure et la combinaison de formules DAX dans LuckyTemplates.

Idées de matérialisation pour les caches de données dans DAX Studio

Idées de matérialisation pour les caches de données dans DAX Studio

Ce didacticiel abordera les idées de matérialisation des caches de données et comment elles affectent les performances des DAX dans la fourniture de résultats.

Rapports dentreprise à laide de LuckyTemplates

Rapports dentreprise à laide de LuckyTemplates

Si vous utilisez encore Excel jusqu'à présent, c'est le meilleur moment pour commencer à utiliser LuckyTemplates pour vos besoins en matière de rapports commerciaux.

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Quest-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir

Qu'est-ce que la passerelle LuckyTemplates ? Tout ce que tu as besoin de savoir