Tout sur la régression linéaire avec Scikit

Publié: 2022-09-08

En pratique, il existe deux principaux algorithmes d'apprentissage automatique supervisé : 1. Classification et 2. Régression — La classification est utilisée pour prédire les sorties discrètes, tandis que la régression est utilisée pour prédire la sortie de valeur continue.

En algèbre, la linéarité désigne une relation droite ou linéaire entre plusieurs variables. Une représentation littérale de cette relation serait une ligne droite.

Inscrivez-vous au cours d'apprentissage automatique des meilleures universités du monde. Gagnez des programmes de maîtrise, Executive PGP ou Advanced Certificate pour accélérer votre carrière.

La régression linéaire est un algorithme d'apprentissage automatique exécuté sous supervision. Il s'agit d'un processus de recherche et de cartographie d'une ligne adaptée à tous les points de données disponibles sur ladite parcelle. Il s'agit d'un modèle de régression qui permet d'estimer la valeur entre une variable dépendante et une variable indépendante, le tout à l'aide d'une ligne droite.

Les modèles de régression linéaire aident à établir une relation linéaire entre ces variables indépendantes, qui ont les coûts les plus bas, en fonction des variables dépendantes données.

En mathématiques, nous avons trois façons de décrire un modèle de régression linéaire. Ils sont les suivants (y étant la variable dépendante) :

  • y = interception + (pente x) + erreur
  • y = constante + (coefficientx) + erreur
  • y = a + bx + e

Table des matières

Pourquoi la régression linéaire est-elle essentielle ?

Les modèles de régression linéaire sont comparativement plus simples et plus conviviaux. Ils rendent le processus d'interprétation des données/formules mathématiques capables de générer des prédictions relativement plus simple. La régression linéaire peut jouer un rôle déterminant dans divers domaines (par exemple, les études universitaires ou commerciales).

Le modèle de régression linéaire est la seule méthode scientifiquement prouvée pour prédire avec précision l'avenir. Il est utilisé dans diverses sciences environnementales, comportementales, sociales, etc.

Les propriétés de ces modèles sont très bien comprises et donc facilement formables puisqu'il s'agit d'une procédure statistique établie de longue date. Il facilite également la transformation de nombreux ensembles de données brutes en informations exploitables.

Hypothèses clés de la régression linéaire effective

  • Le nombre de cas valides, la moyenne et l'écart type doivent être pris en compte pour chaque variable.
  • Pour chaque modèle : les coefficients de régression, la matrice de corrélation, les corrélations partielles et partielles, l'erreur type de l'estimation, le tableau d'analyse de la variance, les valeurs prédites et les résidus doivent être pris en compte.
  • Tracés : les diagrammes de dispersion, les histogrammes, les tracés partiels et les tracés de probabilité normale sont pris en compte.
  • Données : Il faut s'assurer que les variables dépendantes et indépendantes sont quantitatives. Les variables catégorielles n'ont pas besoin d'être recodées en variables binaires ou fictives ou en d'autres types de variables de contraste.
  • Autres hypothèses : Pour chaque valeur d'une variable indépendante donnée, nous avons besoin d'une distribution normale de la variable dépendante. La variance de la distribution donnée de la variable dépendante doit également être maintenue constante pour chaque valeur de variable indépendante. La relation entre chaque variable indépendante dépendante doit être linéaire. De plus, toutes les observations doivent être indépendantes.

Voici un exemple existant de régression linéaire simple :

L'ensemble de données dans l'exemple contient des informations concernant les situations météorologiques mondiales de chaque jour pour une période particulière. Cette liste détaillée d'informations comprend des facteurs tels que les précipitations, les chutes de neige, les températures, la vitesse du vent, les orages ou d'autres conditions météorologiques possibles.

Ce problème vise à utiliser le modèle de régression linéaire simple pour prédire la température maximale tout en prenant la température minimale comme entrée.

Tout d'abord, toutes les bibliothèques doivent être importées.

importer des pandas en tant que pd

importer numpy en tant que np

importer matplotlib.pyplot en tant que plt

importer seaborn en tant que seabornInstance

depuis sklearn.model_selection importer train_test_split

de sklearn.linear_model importer LinearRegression

à partir des métriques d'importation sklearn

%matplotlib en ligne

Pour importer l'ensemble de données suivant à l'aide de pandas, la commande suivante doit être appliquée :

jeu de données = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/Weather.csv')

Pour vérifier le nombre de lignes et de colonnes présentes dans le jeu de données pour explorer les données, la commande suivante doit être appliquée :

jeu de données.forme

La sortie reçue doit être (119040, 31), ce qui signifie que les données contiennent 119040 lignes et 31 colonnes.

Pour voir les détails statistiques de l'ensemble de données, la commande suivante peut être utilisée :

décris():

dataset.describe()

Voici un autre exemple qui visera à démontrer comment on peut récupérer et utiliser diverses bibliothèques Python qui doivent être utilisées pour appliquer la régression linéaire à des ensembles de données donnés :

1. Importation de toutes les bibliothèques requises

importer numpy en tant que np

importer des pandas en tant que pd

importer seaborn en tant que sns

importer matplotlib.pyplot en tant que plt

du prétraitement d'importation sklearn, svm

depuis sklearn.model_selection importer train_test_split

de sklearn.linear_model importer LinearRegression

2. Lecture du jeu de données

cd C:\Users\Dev\Desktop\Kaggle\Salinity

# Changer l'emplacement de lecture du fichier à l'emplacement de l'ensemble de données

df = pd.read_csv('bouteille.csv')

df_binary = df[['Salnty', 'T_degC']]

# Ne prenant que les deux attributs sélectionnés de l'ensemble de données

df_binary.columns = ['Sal', 'Temp']

# Renommer les colonnes pour faciliter l'écriture du code

df_binary.head()

# Afficher uniquement les 1ères lignes avec les noms de colonnes

2. Explorer la dispersion des données

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary, order = 2, ci = None)

# Tracé de la dispersion des données

3. Nettoyage des données

# Élimination de NaN ou des numéros d'entrée manquants

df_binary.fillna(method ='ffill', inplace = True)

4. Formation du modèle

X = np.array(df_binary['Sal']).reshape(-1, 1)

y = np.array(df_binary['Temp']).reshape(-1, 1)

# Séparer les données en variables indépendantes et dépendantes

# Conversion de chaque dataframe en un tableau numpy

# puisque chaque dataframe ne contient qu'une seule colonne

df_binary.dropna(en place = Vrai)

# Suppression de toutes les lignes avec des valeurs Nan

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25)

# Diviser les données en données d'entraînement et de test

regr = RégressionLinéaire()

regr.fit(X_train, y_train)

print(regr.score(X_test, y_test))

5. Explorer les résultats

y_pred = regr.predict(X_test)

plt.scatter(X_test, y_test, color ='b')

plt.plot(X_test, y_pred, color ='k')

plt.show()

# Dispersion des données des valeurs prédites

6. Travailler avec un jeu de données plus petit

df_binaire500 = df_binaire[:][:500]

# Sélection des 500 premières lignes des données

sns.lmplot(x =”Sal”, y =”Temp”, data = df_binary500,

ordre = 2, ci = Aucun)

Blogs populaires sur l'apprentissage automatique et l'intelligence artificielle

IdO : histoire, présent et avenir Tutoriel d'apprentissage automatique : Apprendre le ML Qu'est-ce que l'algorithme ? Simple et facile
Salaire d'ingénieur en robotique en Inde: tous les rôles Une journée dans la vie d'un ingénieur en apprentissage automatique : que font-ils ? Qu'est-ce que l'IoT (Internet des objets)
Permutation vs combinaison : Différence entre permutation et combinaison Top 7 des tendances en matière d'intelligence artificielle et d'apprentissage automatique Apprentissage automatique avec R : tout ce que vous devez savoir

Si vous souhaitez apprendre l'apprentissage automatique à part entière, nous vous recommandons de rejoindre le Master of Science in Machine Learning & AI d'upGrad . Le programme de 20 mois est proposé en association avec l'IIIT Bangalore et l'Université John Moores de Liverpool. Il est conçu pour vous aider à acquérir des compétences dans les langages de programmation, les outils et les bibliothèques pertinents pour l'industrie tels que Python, Keras, Tensor Flow, MySql, Flask, Kubernetes, etc.

Le programme peut vous aider à maîtriser les concepts avancés de la science des données grâce à une expérience pratique et au renforcement des compétences. De plus, vous bénéficiez de l'avantage upGrad avec un accès à des conseils de carrière à 360°, un pool de réseautage de plus de 40 000 apprenants rémunérés et une tonne d'opportunités de collaboration !

Réservez votre place dès aujourd'hui !

A quoi sert la régression linéaire

Ce type d'analyse est généralement utilisé pour prédire la valeur d'une variable en fonction d'une autre variable connue. Les variables utilisées pour trouver la valeur de l'autre sont appelées respectivement variables dépendantes et indépendantes.

Comment installer scikit learn ?

Dans un premier temps, la version de régression linéaire Scikit learn fournie par le système d'exploitation concerné ou la distribution Python doit être installée. C'est le plus rapide pour les personnes qui ont cette option disponible. Ensuite, la version officiellement publiée et la dernière mise à jour doit être installée.

Comment fonctionne scikit learn ?

Scikit learn linear regression donne une gamme d'algorithmes supervisés et non supervisés via une interface de python, qui est toujours cohérente. Il est distribué sous une licence BSD autorisée. Il est distribué sous différents opérateurs Linux. L'utilisation de ces algorithmes est largement encouragée dans les entreprises et l'éducation.