Partilhar via


Python Tutorial: Preparar dados para treinar um modelo de regressão linear com aprendizado de máquina SQL

Aplica-se a: SQL Server 2017 (14.x) e versões posteriores Instância Gerenciada SQL do Azure

Na segunda parte desta série de tutoriais de quatro partes, você preparará dados de um banco de dados usando Python. Mais adiante nesta série, você usará esses dados para treinar e implantar um modelo de regressão linear em Python com o SQL Server Machine Learning Services ou em clusters de Big Data do SQL Server 2019.

Na segunda parte desta série de tutoriais de quatro partes, você preparará dados de um banco de dados usando Python. Mais adiante nesta série, você usará esses dados para treinar e implantar um modelo de regressão linear em Python com os Serviços de Aprendizado de Máquina do SQL Server.

Na segunda parte desta série de tutoriais de quatro partes, você preparará dados de um banco de dados usando Python. Mais adiante nesta série, você usará esses dados para treinar e implantar um modelo de regressão linear em Python com os Serviços de Aprendizado de Máquina de Instância Gerenciada SQL do Azure.

Neste artigo, você aprenderá a:

  • Carregue os dados do banco de dados em um quadro de dados pandas
  • Prepare os dados em Python removendo algumas colunas

Na primeira parte, você aprendeu como restaurar o banco de dados de exemplo.

Na terceira parte, você aprenderá como treinar um modelo de aprendizado de máquina de regressão linear em Python.

Na quarta parte, você aprenderá como armazenar o modelo em um banco de dados e, em seguida, criar procedimentos armazenados a partir dos scripts Python desenvolvidos nas partes dois e três. Os procedimentos armazenados serão executados no servidor para fazer previsões com base em novos dados.

Pré-requisitos

Explore e prepare os dados

Para usar os dados em Python, você carregará os dados do banco de dados em um quadro de dados pandas.

Crie um novo bloco de anotações Python no Azure Data Studio e execute o script abaixo.

O script Python abaixo importa o conjunto de dados da tabela dbo.rental_data do seu banco de dados para um data frame pandas df.

Na cadeia de conexão, substitua os detalhes da conexão conforme necessário. Para usar autenticação do Windows com uma cadeia de conexão ODBC, especifique Trusted_Connection=Yes; em vez de UID e 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)

Você verá resultados semelhantes aos seguintes.

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]

Filtre as colunas do dataframe para remover aquelas que não queremos usar no treinamento. Rentalcount não deve ser incluído, pois é o alvo das previsões.

columns = df.columns.tolist()
columns = [c for c in columns if c not in ["Year", "Rentalcount"]]

print("Training set:", df[columns])

Observe os dados aos quais o conjunto de treinamento terá acesso:

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]

Próximos passos

Na segunda parte desta série de tutoriais, você concluiu estas etapas:

  • Carregue os dados do banco de dados em um quadro de dados pandas
  • Prepare os dados em Python removendo algumas colunas

Para treinar um modelo de aprendizado de máquina que usa dados do banco de dados, siga a TutorialDB terceira parte desta série de tutoriais: