Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri
Azure SQL Yönetimli Örnek
Bu hızlı başlangıçta SQL Server Machine Learning Services, Azure SQL Yönetilen Örneği Machine Learning Services veya SQL Server Büyük Veri Kümeleri ile Python matematik ve yardımcı program işlevlerini kullanmayı öğreneceksiniz. İstatistiksel işlevlerin T-SQL'de uygulanması genellikle karmaşıktır, ancak Python'da yalnızca birkaç kod satırıyla yapılabilir.
Önkoşullar
Bu hızlı başlangıcı çalıştırmak için aşağıdaki önkoşullara ihtiyacınız vardır.
Bu platformlardan birinde bir SQL veritabanı:
- SQL Server Machine Learning Services. Yüklemek için Windows yükleme kılavuzuna veya Linux yükleme kılavuzuna bakın.
- SQL Server Büyük Veri Kümeleri. Nasıl yapıldığını görün: SQL Server Büyük Veri Kümelerinde Makine Öğrenimi Hizmetlerini etkinleştirme.
- Azure SQL Yönetilen Örneği Makine Öğrenimi Hizmetleri. Bilgi için bkz. Azure SQL Yönetilen Örnek Makine Öğrenimi Hizmetleri'ne genel bakış.
Python betikleri içeren SQL sorgularını çalıştırmaya yönelik bir araç. Bu hızlı başlangıçta Azure Data Studio kullanılır.
Rastgele sayılar oluşturacak bir saklı yordam oluşturun.
Basitlik adına, varsayılan olarak yüklenip başlatılan Python numpy paketini kullanalım. Paket, standart sapma ve ortalama göz önüne alındığında normal dağılımı kullanarak belirtilen sayıda rastgele sayı oluşturan işlev de dahil olmak random.normal üzere ortak istatistiksel görevler için yüzlerce işlev içerir.
Örneğin, aşağıdaki Python kodu, standart sapma değeri 3 olan 50 ortalamada 100 sayı döndürür.
numpy.random.normal(size=100, loc=50, scale=3)
T-SQL'den bu Python satırını çağırmak için Python işlevini python betik parametresine sp_execute_external_scriptekleyin. Çıktı bir veri çerçevesi bekler, bu nedenle bunu dönüştürmek için kullanın pandas .
EXECUTE sp_execute_external_script @language = N'Python'
, @script = N'
import numpy
import pandas
OutputDataSet = pandas.DataFrame(numpy.random.normal(size=100, loc=50, scale=3));
'
, @input_data_1 = N' ;'
WITH RESULT SETS(([Density] FLOAT NOT NULL));
Farklı bir rastgele sayı kümesi oluşturmayı kolaylaştırmak isterseniz ne yapmanız gerekir? Kullanıcıdan bağımsız değişkenleri alan bir saklı yordam tanımlarsınız ve bu bağımsız değişkenleri Python betiğine değişken olarak geçirirsiniz.
CREATE PROCEDURE MyPyNorm (
@param1 INT
, @param2 INT
, @param3 INT
)
AS
EXECUTE sp_execute_external_script @language = N'Python'
, @script = N'
import numpy
import pandas
OutputDataSet = pandas.DataFrame(numpy.random.normal(size=mynumbers, loc=mymean, scale=mysd));
'
, @input_data_1 = N' ;'
, @params = N' @mynumbers int, @mymean int, @mysd int'
, @mynumbers = @param1
, @mymean = @param2
, @mysd = @param3
WITH RESULT SETS(([Density] FLOAT NOT NULL));
İlk satır, saklı yordam yürütülürken gereken SQL giriş parametrelerinin her birini tanımlar.
ile
@paramsbaşlayan satır, Python kodu tarafından kullanılan tüm değişkenleri ve buna karşılık gelen SQL veri türlerini tanımlar.Hemen izleyen satırlar, SQL parametre adlarını ilgili Python değişken adlarına eşler.
Python işlevini bir saklı yordama sarmaladığınıza göre işlevi kolayca çağırabilir ve aşağıdaki gibi farklı değerler geçirebilirsiniz:
EXECUTE MyPyNorm @param1 = 100,@param2 = 50, @param3 = 3
Sorun giderme için Python yardımcı programı işlevlerini kullanma
Python paketleri, geçerli Python ortamını araştırmak için çeşitli yardımcı program işlevleri sağlar. Bu işlevler, Python kodunuzun SQL Server'da ve dış ortamlardaki performansında tutarsızlıklar fark ederseniz yararlı olabilir.
Örneğin, Python işlemleri tarafından kullanılan süre miktarını ölçmek ve performans sorunlarını analiz etmek için paketteki time sistem zamanlama işlevlerini kullanabilirsiniz.
EXECUTE sp_execute_external_script
@language = N'Python'
, @script = N'
import time
start_time = time.time()
# Run Python processes
elapsed_time = time.time() - start_time
'
, @input_data_1 = N' ;';
Sonraki Adımlar
SQL machine learning ile Python kullanarak makine öğrenmesi modeli oluşturmak için şu hızlı başlangıcı izleyin: