Tutorial Python: Menyiapkan data untuk melatih model regresi linier dengan pembelajaran mesin SQL
Berlaku untuk: SQL Server 2017 (14.x) dan Azure SQL Managed Instance yang lebih baru
Di bagian dua dari seri tutorial empat bagian ini, Anda akan menyiapkan data dari database menggunakan Python. Nantinya dalam seri ini, Anda akan menggunakan data ini untuk melatih dan menyebarkan model regresi linier di Python dengan SQL Server Pembelajaran Mesin Services atau di SQL Server 2019 Kluster Big Data.
Di bagian dua dari seri tutorial empat bagian ini, Anda akan menyiapkan data dari database menggunakan Python. Nantinya dalam seri ini, Anda akan menggunakan data ini untuk melatih dan menyebarkan model regresi linier di Python dengan SQL Server Pembelajaran Mesin Services.
Di bagian dua dari seri tutorial empat bagian ini, Anda akan menyiapkan data dari database menggunakan Python. Nantinya dalam seri ini, Anda akan menggunakan data ini untuk melatih dan menyebarkan model regresi linier di Python dengan Azure SQL Managed Instance Pembelajaran Mesin Services.
Dalam artikel ini, Anda akan mempelajari cara:
- Memuat data dari database ke dalam bingkai data pandas
- Menyiapkan data di Python dengan menghapus beberapa kolom
Di bagian satu, Anda mempelajari cara memulihkan database sampel.
Di bagian ketiga, Anda akan mempelajari cara melatih model pembelajaran mesin regresi linier di Python.
Di bagian empat, Anda akan mempelajari cara menyimpan model dalam database, lalu membuat prosedur tersimpan dari skrip Python yang Anda kembangkan di bagian dua dan tiga. Prosedur tersimpan akan berjalan di server untuk membuat prediksi berdasarkan data baru.
Prasyarat
- Bagian dua dari tutorial ini mengasumsikan Anda telah menyelesaikan bagian satu dan prasyaratnya, termasuk menginstal paket Python yang diperlukan,
pandas
danpyodbc
.
Menjelajahi dan menyiapkan data
Untuk menggunakan data di Python, Anda akan memuat data dari database ke dalam bingkai data pandas.
Buat buku catatan Python baru di Azure Data Studio dan jalankan skrip di bawah ini.
Skrip Python di bawah ini mengimpor himpunan data dari dbo.rental_data
tabel dalam database Anda ke bingkai data pandas df.
Di string koneksi, ganti detail koneksi sesuai kebutuhan. Untuk menggunakan autentikasi Windows dengan string koneksi ODBC, tentukan Trusted_Connection=Yes;
alih-alih UID
parameter dan 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)
Anda akan melihat hasil yang mirip dengan yang berikut ini.
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]
Filter kolom dari kerangka data untuk menghapus kolom yang tidak ingin kami gunakan dalam pelatihan. Rentalcount
tidak boleh disertakan karena merupakan target prediksi.
columns = df.columns.tolist()
columns = [c for c in columns if c not in ["Year", "Rentalcount"]]
print("Training set:", df[columns])
Perhatikan data yang akan diakses set pelatihan:
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]
Langkah berikutnya
Di bagian dua seri tutorial ini, Anda menyelesaikan langkah-langkah berikut:
- Memuat data dari database ke dalam bingkai data pandas
- Menyiapkan data di Python dengan menghapus beberapa kolom
Untuk melatih model pembelajaran mesin yang menggunakan data dari TutorialDB
database, ikuti bagian tiga dari seri tutorial ini: