Tutorial do Python: Preparar dados para treinar um modelo de regressão linear com o aprendizado de máquina do SQL
Aplica-se a: SQL Server 2017 (14.x) e versões posteriores Instância Gerenciada de SQL do Azure
Na parte dois desta série de tutoriais de quatro partes, você preparará os dados de um banco de dados usando o Python. Posteriormente nesta série, você usará esses dados para treinar e implantar um modelo de regressão linear em Python com os Serviços de Machine Learning do SQL Server ou nos Clusters de Big Data do SQL Server 2019.
Na parte dois desta série de tutoriais de quatro partes, você preparará os dados de um banco de dados usando o Python. Posteriormente nesta série, você usará esses dados para treinar e implantar um modelo de regressão linear em Python com os Serviços de Machine Learning do SQL Server.
Na parte dois desta série de tutoriais de quatro partes, você preparará os dados de um banco de dados usando o Python. Posteriormente nesta série, você usará esses dados para treinar e implantar um modelo de regressão linear em Python com os Serviços de Machine Learning da Instância Gerenciada de SQL do Azure.
Neste artigo, você aprenderá a:
- Carregar os dados do banco de dados em uma estrutura do Pandas
- Preparar os dados no Python removendo algumas colunas
Na parte um, você aprendeu a restaurar o banco de dados de exemplo.
Na parte três, você aprenderá a treinar um modelo de machine learning de regressão linear no Python.
Na parte quatro, você aprenderá a armazenar o modelo em um banco de dados e, em seguida, criará procedimentos armazenados com base nos scripts do 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
- A segunda parte deste tutorial pressupõe que você tenha concluído a primeira parte e seus pré-requisitos, incluindo a instalação dos pacotes Python necessários,
pandas
epyodbc
.
Explorar e preparar os dados
Para usar os dados no Python, você os carregará do banco de dados em uma estrutura do Pandas.
Crie um notebook do Python no Azure Data Studio e execute o script abaixo.
O script Python abaixo importa o conjunto de dados da tabela dbo.rental_data
em seu banco de dados para uma estrutura de dados df do Pandas.
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 dos parâmetros 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ê deverá 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 as que não queremos usar no treinamento. Rentalcount
não deve ser incluído, pois é o destino 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óximas etapas
Na parte dois desta série de tutoriais, você concluiu estas etapas:
- Carregar os dados do banco de dados em uma estrutura do Pandas
- Preparar os dados no Python removendo algumas colunas
Para treinar um modelo de machine learning que usa dados do banco de dados TutorialDB
, siga a parte três desta série de tutoriais: