Tutoriel Python : Effectuer l’apprentissage d’un modèle de régression linéaire avec l’apprentissage automatique SQL
S’applique à : SQL Server 2017 (14.x) et versions ultérieures Azure SQL Managed Instance
Dans la troisième partie de cette série de tutoriels qui en compte quatre, vous allez effectuer l’apprentissage d’un modèle de régression linéaire dans Python. Dans la partie suivante de cette série, vous allez déployer ce modèle dans une base de données SQL Server avec les services Azure Machine Learning ou sur des clusters Big Data SQL Server 2019.
Dans la troisième partie de cette série de tutoriels qui en compte quatre, vous allez effectuer l’apprentissage d’un modèle de régression linéaire dans Python. Dans la partie suivante de cette série, vous déploierez ce modèle dans une base de données SQL Server avec Machine Learning Services.
Dans la troisième partie de cette série de tutoriels qui en compte quatre, vous allez effectuer l’apprentissage d’un modèle de régression linéaire dans Python. Dans la partie suivante de cette série, vous déploierez ce modèle dans une base de données Azure SQL Managed Instance avec Machine Learning Services.
Dans cet article, vous allez apprendre à :
- Effectuer l’apprentissage d’un modèle de régression linéaire
- Élaborer des prédictions à l’aide d’un modèle de régression linéaire
Dans la première partie, vous avez appris à restaurer l’exemple de base de données.
Dans la deuxième partie, vous avez appris à charger les données d’une base de données dans une trame de données Python et à préparer les données dans Python.
Dans la quatrième partie, vous apprendrez à stocker le modèle dans une base de données, puis à créer des procédures stockées à partir des scripts Python que vous avez développés dans les parties 2 et 3. Les procédures stockées sont exécutées sur le serveur pour effectuer des prédictions en fonction de nouvelles données.
Prérequis
- La troisième partie de ce tutoriel suppose que vous avez terminé la première partie et ses conditions préalables, y compris l’installation des packages Python requis.
Effectuer l’apprentissage du modèle
Afin d’élaborer des prédictions, vous devez rechercher une fonction (modèle) qui décrit le mieux la dépendance entre les variables de notre jeu de données. En d’autres termes, il s’agit d’effectuer l’apprentissage du modèle. Le jeu de données d’apprentissage est un sous-ensemble du jeu de données complet de la trame de données pandas df
que vous avez créée dans la deuxième partie de cette série.
Vous allez effectuer l’apprentissage du modèle lin_model
à l’aide d’un algorithme de régression linéaire.
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# Store the variable we'll be predicting on.
target = "Rentalcount"
# Generate the training set. Set random_state to be able to replicate results.
train = df.sample(frac=0.8, random_state=1)
# Select anything not in the training set and put it in the testing set.
test = df.loc[~df.index.isin(train.index)]
# Print the shapes of both sets.
print("Training set shape:", train.shape)
print("Testing set shape:", test.shape)
# Initialize the model class.
lin_model = LinearRegression()
# Fit the model to the training data.
lin_model.fit(train[columns], train[target])
Vous devez obtenir des résultats similaires à ce qui suit :
Training set shape: (362, 7)
Testing set shape: (91, 7)
Effectuer des prédictions
Utilisez une fonction Predict pour prédire le nombre de loyers à l’aide du modèle lin_model
.
# Generate our predictions for the test set.
lin_predictions = lin_model.predict(test[columns])
print("Predictions:", lin_predictions)
# Compute error between our test predictions and the actual values.
lin_mse = mean_squared_error(lin_predictions, test[target])
print("Computed error:", lin_mse)
Vous devez obtenir des résultats similaires à ce qui suit :
Predictions: [124.41293228 123.8095075 117.67253182 209.39332151 135.46159387
199.50603805 472.14918499 90.15781602 216.61319499 120.30710327
89.47591091 127.71290441 207.44065517 125.68466139 201.38119194
204.29377218 127.4494643 113.42721447 127.37388762 94.66754136
90.21979191 173.86647615 130.34747586 111.81550069 118.88131715
124.74028405 211.95038051 202.06309706 123.53053083 167.06313191
206.24643852 122.64812937 179.98791527 125.1558454 168.00847713
120.2305587 196.60802649 117.00616326 173.20010759 89.9563518
92.11048236 120.91052805 175.47818992 129.65196995 120.97443971
175.95863082 127.24800008 135.05866542 206.49627783 91.63004147
115.78280925 208.92841718 213.5137192 212.83278197 96.74415948
95.1324457 199.9089665 206.10791806 126.16510228 120.0281266
209.08150631 132.88996619 178.84110582 128.85971386 124.67637239
115.58134503 96.82167192 514.61789505 125.48319717 207.50359894
121.64080826 201.9381774 113.22575025 202.46505762 90.7002328
92.31194658 201.25627228 516.97252195 91.36660136 599.27093251
199.6445585 123.66905128 117.4710676 173.12259514 129.60359486
209.59478573 206.29481361 210.69322009 205.50255751 210.88011563
207.65572019]
Computed error: 35003.54030828391
Étapes suivantes
Dans la troisième partie de cette série de tutoriels, vous avez effectué les étapes suivantes :
- Effectuer l’apprentissage d’un modèle de régression linéaire
- Élaborer des prédictions à l’aide d’un modèle de régression linéaire
Pour déployer le modèle de Machine Learning que vous avez créé, suivez la quatrième partie de cette série de tutoriels :