Megosztás a következőn keresztül:


Python-oktatóanyag: Adatok előkészítése lineáris regressziós modell betanításához SQL machine learning használatával

A következőkre vonatkozik: Sql Server 2017 (14.x) és újabb verziók Felügyelt Azure SQL-példány

A négyrészes oktatóanyag-sorozat második részében a Python használatával készíti elő az adatokat egy adatbázisból. A sorozat későbbi részében az adatokat egy lineáris regressziós modell betanítására és üzembe helyezésére fogják használni Python nyelven az SQL Server Machine Learning Services vagy az SQL Server 2019 Big Data-fürtök segítségével.

A négyrészes oktatóanyag-sorozat második részében a Python használatával készíti elő az adatokat egy adatbázisból. A sorozat későbbi részében ezeket az adatokat fogja használni egy lineáris regressziós modell betanítására és üzembe helyezésére a Pythonban az SQL Server Machine Learning Services használatával.

A négyrészes oktatóanyag-sorozat második részében a Python használatával készíti elő az adatokat egy adatbázisból. A sorozat későbbi részében ezekkel az adatokkal betaníthat és üzembe helyezhet egy lineáris regressziós modellt a Pythonban az Azure SQL Managed Instance Machine Learning Services használatával.

Ebben a cikkben megtudhatja, hogyan:

  • Adatok betöltése az adatbázisból egy pandas-adatkeretbe
  • Az adatok előkészítése a Pythonban néhány oszlop eltávolításával

Az első részben megtanulta, hogyan állíthatja vissza a mintaadatbázist.

A harmadik részben megtanulhatja, hogyan taníthat be lineáris regressziós gépi tanulási modellt a Pythonban.

A negyedik részben megtanulhatja, hogyan tárolhatja a modellt egy adatbázisban, majd hogyan hozhat létre tárolt eljárásokat a második és harmadik részben kifejlesztett Python-szkriptekből. A tárolt eljárások a kiszolgálón futnak, hogy új adatok alapján előrejelzéseket készítsenek.

Előfeltételek

Az adatok feltárása és előkészítése

Az adatok Pythonban való használatához az adatbázisból származó adatokat egy pandas-adatkeretbe kell betöltenie.

Hozzon létre egy új Python-jegyzetfüzetet az Azure Data Studióban, és futtassa az alábbi szkriptet.

Az alábbi Python-szkript importálja az adathalmazt az dbo.rental_data adatbázis táblájából egy pandas-adatkeret df-be.

A kapcsolati sztringben szükség szerint cserélje le a kapcsolat részleteit. Ha Windows-hitelesítést szeretne használni egy ODBC kapcsolati sztringgel, adja meg a Trusted_Connection=Yes; helyett a UID és PWD paramétereket.

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)

Az alábbihoz hasonló eredményeket kell látnia.

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]

Szűrje az adatkeret oszlopait, hogy eltávolítsa azokat, amelyeket nem szeretnénk használni a betanításban. Rentalcount nem szabad belefoglalni, mivel ez az előrejelzések célja.

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

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

Figyelje meg azokat az adatokat, amelyekhez a betanítási csoport hozzáférhet:

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]

Következő lépések

Az oktatóanyag-sorozat második részében az alábbi lépéseket hajtotta végre:

  • Adatok betöltése az adatbázisból egy pandas-adatkeretbe
  • Az adatok előkészítése a Pythonban néhány oszlop eltávolításával

Az adatbázisból TutorialDB adatokat használó gépi tanulási modell betanítása az oktatóanyag-sorozat harmadik részében található: