Руководство по Python. Подготовка данных для обучения модели линейной регрессии с помощью машинного обучения SQL
Область применения: SQL Server 2017 (14.x) и более поздних версий Управляемый экземпляр SQL Azure
Во второй части этого цикла учебников, состоящего из четырех частей, вы подготовите данные из базы данных с помощью Python. Далее в этом цикле вы будете использовать подготовленные данные для обучения и развертывания модели линейной регрессии в Python с помощью Служб машинного обучения SQL Server или в Кластерах больших данных SQL Server 2019.
Во второй части этого цикла учебников, состоящего из четырех частей, вы подготовите данные из базы данных с помощью Python. Далее в этой серии руководств вы будете использовать эти данные для обучения и развертывания модели линейной регрессии с использованием Python в Службах машинного обучения SQL Server.
Во второй части этого цикла учебников, состоящего из четырех частей, вы подготовите данные из базы данных с помощью Python. Далее в этой серии руководств вы будете использовать эти данные для обучения и развертывания модели линейной регрессии с использованием Python в Службах машинного обучения Управляемого экземпляра SQL Azure.
В этой статье вы узнаете, как выполнять следующие задачи.
- Загрузка данных из базы данных в кадр данных pandas.
- Подготовка данных в Python путем удаления некоторых столбцов
В первой части вы узнали, как восстановить учебную базу данных.
В третьей части вы узнаете, как обучить модель машинного обучения линейной регрессии в Python.
В четвертой части вы узнаете, как сохранить модель в базе данных, а затем создать хранимые процедуры на основе сценариев Python, разработанных во второй и третьей частях. Хранимые процедуры будут запускаться на сервере, чтобы формировать прогнозы на основе новых данных.
Необходимые компоненты
- Часть 2 этого руководства предполагает, что вы выполнили часть одной и ее предварительные требования, включая установку необходимых пакетов Python и
pyodbc
pandas
.
Анализ и подготовка данных
Чтобы использовать данные в Python, необходимо загрузить их из базы данных в кадр данных pandas.
Создайте записную книжку Python в Azure Data Studio и выполните приведенный ниже сценарий.
Приведенный ниже сценарий Python импортирует набор данных из dbo.rental_data
таблицы в базу данных в кадр данных Pandas.
В строке подключения при необходимости замените параметры подключения. Чтобы использовать проверку подлинности Windows со строкой подключения ODBC, укажите Trusted_Connection=Yes;
вместо параметров UID
и PWD
.
import pyodbc
import pandas
# 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)
Результат должен иметь следующий вид.
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]
Отфильтруйте столбцы из кадра данных, чтобы удалить те, которые мы не хотим использовать в обучении. Не следует включать Rentalcount
, поскольку это целевой объект прогнозов.
columns = df.columns.tolist()
columns = [c for c in columns if c not in ["Year", "Rentalcount"]]
print("Training set:", df[columns])
Запомните данные, к которым набор для обучения будет иметь доступ:
Training set: Month Day Weekday Holiday Snow
1 2 13 5 0 0
3 3 31 2 0 0
7 3 8 7 0 0
15 3 4 2 0 1
22 1 18 1 0 0
.. ... ... ... ... ...
416 4 13 1 0 1
421 1 21 3 0 1
438 2 19 4 0 1
441 2 3 3 0 1
447 1 4 6 0 1
[91 rows x 5 columns]
Следующие шаги
Во второй части этого учебника вы выполнили следующие действия.
- Загрузка данных из базы данных в кадр данных pandas.
- Подготовка данных в Python путем удаления некоторых столбцов
Чтобы обучить модель машинного обучения, которая использует данные из базы данных TutorialDB
, перейдите к третьей части этого учебника: