Tout sur la régression linéaire avec Scikit
Publié: 2022-09-08En 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
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.