Python-Tutorial: Vorbereiten von Daten für das Training eines linearen Regressionsmodells mit SQL Machine LearningPython Tutorial: Prepare data to 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

Im zweiten Teil dieser vierteiligen Tutorialreihe bereiten Sie Daten aus einer Datenbank mithilfe von Python vor.In part two of this four-part tutorial series, you'll prepare data from a database using Python. Diese Daten verwenden Sie in einem späteren Teil dieser Reihe zum Trainieren und Bereitstellen eines linearen Regressionsmodells in Python mit SQL Server Machine Learning Services oder in Big Data-Clustern.Later in this series, you'll use this data to train and deploy a linear regression model in Python with SQL Server Machine Learning Services or on Big Data Clusters.

Im zweiten Teil dieser vierteiligen Tutorialreihe bereiten Sie Daten aus einer Datenbank mithilfe von Python vor.In part two of this four-part tutorial series, you'll prepare data from a database using Python. Diese Daten verwenden Sie in einem späteren Teil dieser Reihe zum Trainieren und Bereitstellen eines linearen Regressionsmodells in Python mit SQL Server-Machine Learning Services.Later in this series, you'll use this data to train and deploy a linear regression model in Python with SQL Server Machine Learning Services.

Im zweiten Teil dieser vierteiligen Tutorialreihe bereiten Sie Daten aus einer Datenbank mithilfe von Python vor.In part two of this four-part tutorial series, you'll prepare data from a database using Python. Diese Daten verwenden Sie in einem späteren Teil dieser Reihe zum Trainieren und Bereitstellen eines linearen Regressionsmodells in Python mit Machine Learning Services in Azure SQL Managed Instance.Later in this series, you'll use this data to train and deploy a linear regression model in Python with Azure SQL Managed Instance Machine Learning Services.

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

  • Laden der Daten aus der Datenbank in einen pandas-DatenrahmenLoad the data from the database into a pandas data frame
  • Vorbereiten der Daten in Python durch Entfernen einiger SpaltenPrepare the data in Python by removing some columns

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 3 trainieren Sie ein lineares Regressionsmodell für Machine Learning in Python.In part three, you'll learn how to train a linear regression machine learning model 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 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 two of this tutorial assumes you have completed part one and its prerequisites.

Durchsuchen und Vorbereiten der DatenExplore and prepare the data

Laden Sie die Daten aus der Datenbank in einen Pandas-Datenrahmen, um sie in Python verwenden zu können.To use the data in Python, you'll load the data from the database into a pandas data frame.

Erstellen Sie in Azure Data Studio ein neues Python-Notebook, und führen Sie das unten stehende Skript aus.Create a new Python notebook in Azure Data Studio and run the script below.

Importieren Sie mit dem folgenden Python-Skript das Dataset aus der Tabelle dbo.rental_data in Ihrer Datenbank in den Pandas-Datenrahmen df:The Python script below imports the dataset from the dbo.rental_data table in your database to a pandas data frame df.

Ersetzen Sie bei Bedarf die Verbindungsdetails in der Verbindungszeichenfolge.In the connection string, replace connection details as needed.

import pyodbc
import pandas
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Connection string to your SQL Server instance
conn_str = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server}; SERVER=<server>; DATABASE=TutorialDB;UID=<username>;PWD=<password>)

query_str = 'SELECT Year, Month, Day, Rentalcount, Weekday, Holiday, Snow FROM dbo.rental_data'

df = pandas.read_sql(sql=query_str, con=conn_str)

print("Data frame:", df)

# Get all the columns from the dataframe.
columns = df.columns.tolist()

# Filter the columns to remove ones we don't want to use in the training
columns = [c for c in columns if c not in ["Year"]]

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

Data frame:      Year  Month  Day  RentalCount  WeekDay  Holiday  Snow
0    2014      1   20          445        2        1     0
1    2014      2   13           40        5        0     0
2    2013      3   10          456        1        0     0
3    2014      3   31           38        2        0     0
4    2014      4   24           23        5        0     0
..    ...    ...  ...          ...      ...      ...   ...
448  2013      2   19           57        3        0     1
449  2015      3   18           26        4        0     0
450  2015      3   24           29        3        0     1
451  2014      3   26           50        4        0     1
452  2015     12    6          377        1        0     1

[453 rows x 7 columns]

Nächste SchritteNext steps

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

  • Laden der Daten aus der Datenbank in einen pandas-DatenrahmenLoad the data from the database into a pandas data frame
  • Vorbereiten der Daten in Python durch Entfernen einiger SpaltenPrepare the data in Python by removing some columns

Fahren Sie mit Teil 3 dieser Tutorialreihe fort, um ein Machine Learning-Modell zu trainieren, das Daten aus der Datenbank „TutorialDB“ verwendet:To train a machine learning model that uses data from the TutorialDB database, follow part three of this tutorial series: