Aracılığıyla paylaş


Python Öğreticisi: SQL makine öğrenmesi ile doğrusal regresyon modeli eğitmek için verileri hazırlama

Şunlar için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri Azure SQL Yönetimli Örnek

Bu dört bölümden oluşan öğretici serisinin ikinci bölümünde Python kullanarak bir veritabanından veri hazırlayacaksınız. Bu serinin ilerleyen bölümlerinde, SQL Server Machine Learning Services ile Python'da veya SQL Server 2019 Büyük Veri Kümelerinde doğrusal regresyon modelini eğitmek ve dağıtmak için bu verileri kullanacaksınız.

Bu dört bölümden oluşan öğretici serisinin ikinci bölümünde Python kullanarak bir veritabanından veri hazırlayacaksınız. Bu serinin ilerleyen bölümlerinde, SQL Server Machine Learning Services ile Python'da doğrusal regresyon modelini eğitmek ve dağıtmak için bu verileri kullanacaksınız.

Bu dört bölümden oluşan öğretici serisinin ikinci bölümünde Python kullanarak bir veritabanından veri hazırlayacaksınız. Bu serinin ilerleyen bölümlerinde, Azure SQL Yönetilen Örneği Machine Learning Services ile Python'da doğrusal regresyon modelini eğitmek ve dağıtmak için bu verileri kullanacaksınız.

Bu makalede şunları nasıl yapacağınızı öğreneceksiniz:

  • Veritabanındaki verileri pandas veri çerçevesine yükleme
  • Bazı sütunları kaldırarak Python'da verileri hazırlama

Birinci bölümde örnek veritabanını geri yüklemeyi öğrendinsiniz.

Üçüncü bölümde Python'da doğrusal regresyon makine öğrenmesi modelini eğitmeyi öğreneceksiniz.

Dördüncü bölümde, modeli bir veritabanında depolamayı öğrenecek ve ardından ikinci ve üç bölümde geliştirdiğiniz Python betiklerinden saklı yordamlar oluşturacaksınız. Saklı yordamlar, yeni verilere dayalı tahminler yapmak için sunucuda çalışır.

Önkoşullar

Verileri keşfetme ve hazırlama

Verileri Python'da kullanmak için veritabanındaki verileri pandas veri çerçevesine yükleyeceksiniz.

Azure Data Studio'da yeni bir Python not defteri oluşturun ve aşağıdaki betiği çalıştırın.

Aşağıdaki Python betiği, veri kümesini veritabanınızdaki tablodan dbo.rental_data pandas veri çerçevesi df'ye aktarır.

Bağlantı dizesinde, bağlantı ayrıntılarını gerektiği gibi değiştirin. Bir ODBC bağlantı dizesiyle Windows kimlik doğrulamasını kullanmak için UID ve PWD parametreleri yerine Trusted_Connection=Yes; belirtin.

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)

Aşağıdakine benzer sonuçlar görmeniz gerekir.

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]

Eğitimde kullanmak istemediğimiz sütunları kaldırmak için veri çerçevesindeki sütunları filtreleyin. Rentalcount tahminlerin hedefi olduğundan dahil edilmemelidir.

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

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

Eğitim kümesinin erişeceği verilere dikkat edin:

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]

Sonraki Adımlar

Bu öğretici serisinin ikinci bölümünde şu adımları tamamladınız:

  • Veritabanındaki verileri pandas veri çerçevesine yükleme
  • Bazı sütunları kaldırarak Python'da verileri hazırlama

Veritabanındaki verileri kullanan bir makine öğrenmesi TutorialDB modelini eğitmek için bu öğretici serisinin üçüncü bölümünü izleyin: