Python-Tutorial: Trainieren eines linearen Regressionsmodells mit SQL Machine LearningPython tutorial: Train a linear regression model with SQL machine learning

Anwendungsbereich:Applies to: JaSQL Server 2017 (14.x)SQL Server 2017 (14.x)yesSQL Server 2017 (14.x)SQL Server 2017 (14.x) und höher JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceAnwendungsbereich:Applies to: JaSQL Server 2017 (14.x)SQL Server 2017 (14.x)yesSQL Server 2017 (14.x)SQL Server 2017 (14.x) and later JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance

In Teil 3 dieser vierteiligen Tutorialreihe trainieren Sie ein lineares Regressionsmodell in Python.In part three of this four-part tutorial series, you'll train a linear regression model in Python. Im nächsten Teil dieser Reihe stellen Sie dann dieses Modell in einer SQL Server-Datenbank mit Machine Learning Services oder in Big Data-Clustern bereit.In the next part of this series, you'll deploy this model in a SQL Server database with Machine Learning Services or on Big Data Clusters.

In Teil 3 dieser vierteiligen Tutorialreihe trainieren Sie ein lineares Regressionsmodell in Python.In part three of this four-part tutorial series, you'll train a linear regression model in Python. Im nächsten Teil dieser Reihe stellen Sie dann dieses Modell in einer SQL Server-Datenbank-Instanz mit Machine Learning Services bereit.In the next part of this series, you'll deploy this model in a SQL Server database with Machine Learning Services.

In Teil 3 dieser vierteiligen Tutorialreihe trainieren Sie ein lineares Regressionsmodell in Python.In part three of this four-part tutorial series, you'll train a linear regression model in Python. Im nächsten Teil dieser Reihe stellen Sie dieses Modell in einer Instanz von Azure SQL Managed Instance mit Machine Learning Services bereit.In the next part of this series, you'll deploy this model in an Azure SQL Managed Instance database with Machine Learning Services.

In diesem Artikel lernen Sie Folgendes:In this article, you'll learn how to:

  • Trainieren eines linearen RegressionsmodellsTrain a linear regression model
  • Treffen von Vorhersagen mit dem linearen RegressionsmodellMake predictions using the linear regression model

In Teil 1 dieser Tutorialreihe haben Sie gelernt, wie Sie die Beispieldatenbank wiederherstellen.In part one, you learned how to restore the sample database.

In Teil 2 haben Sie erfahren, wie Sie die Daten aus einer Datenbank in einen Python-Datenrahmen laden und in Python vorbereiten.In part two, you learned how to load the data from a database into a Python data frame, and prepare the data in Python.

In Teil 4 haben Sie gelernt, wie Sie das Modell in einer Datenbank speichern und gespeicherte Prozeduren aus den Python-Skripts erstellen, die Sie in Teil 2 und 3 entwickelt haben.In part four, you'll learn how to store the model in a database, and then create stored procedures from the Python scripts you developed in parts two and three. Die gespeicherten Prozeduren werden auf dem Server ausgeführt, um Vorhersagen basierend auf neuen Daten treffen zu können.The stored procedures will run in on the server to make predictions based on new data.

VoraussetzungenPrerequisites

  • In diesem Teil der Tutorialreihe wird davon ausgegangen, dass Sie Teil 1 und die erforderlichen Voraussetzungen abgeschlossen haben.Part three of this tutorial assumes you have completed part one and its prerequisites.

Trainieren des ModellsTrain the model

Für die Vorhersage müssen Sie eine Funktion (ein Modell) finden, die die Abhängigkeit zwischen den Variablen in unserem Dataset am besten beschreibt.In order to predict, you have to find a function (model) that best describes the dependency between the variables in our dataset. Dies wird als Training des Modells bezeichnet.This called training the model. Das Trainingsdataset ist eine Teilmenge des gesamten Datensets aus dem Pandas-Datenrahmen df, den Sie im zweiten Teil dieser Reihe erstellt haben.The training dataset will be a subset of the entire dataset from the pandas data frame df that you created in part two of this series.

Dann trainieren Sie das Modell lin_model mit einem linearen Regressionsalgorithmus.You will train model lin_model using a linear regression algorithm.

# 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])

Das Ergebnis sollte etwa folgendermaßen aussehen:You should see results similar to the following.

Training set shape: (362, 7)
Testing set shape: (91, 7)

Erstellen von VorhersagenMake predictions

Verwenden Sie eine Vorhersagefunktion, um die Verleihzahlen mithilfe des Modells lin_model vorherzusagen.Use a predict function to predict the rental counts using the model 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)

Das Ergebnis sollte etwa folgendermaßen aussehen:You should see results similar to the following.

Predictions: [ 40.  38. 240.  39. 514.  48. 297.  25. 507.  24.  30.  54.  40.  26.
  30.  34.  42. 390. 336.  37.  22.  35.  55. 350. 252. 370. 499.  48.
  37. 494.  46.  25. 312. 390.  35.  35. 421.  39. 176.  21.  33. 452.
  34.  28.  37. 260.  49. 577. 312.  24.  24. 390.  34.  64.  26.  32.
  33. 358. 348.  25.  35.  48.  39.  44.  58.  24. 350. 651.  38. 468.
  26.  42. 310. 709. 155.  26. 648. 617.  26. 846. 729.  44. 432.  25.
  39.  28. 325.  46.  36.  50.  63.]
Computed error: 2.9960763804270902e-27

Nächste SchritteNext steps

In Teil 3 dieser Tutorialreihe haben Sie die folgenden Schritte ausgeführt:In part three of this tutorial series, you completed these steps:

  • Trainieren eines linearen RegressionsmodellsTrain a linear regression model
  • Treffen von Vorhersagen mit dem linearen RegressionsmodellMake predictions using the linear regression model

Fahren Sie mit Teil 4 dieser Tutorialreihe fort, um das von Ihnen erstellte Machine Learning-Modell einzusetzen:To deploy the machine learning model you've created, follow part four of this tutorial series: