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 2016 (13.x) ve sonraki sürümleri
Azure SQL Yönetilen Örnek
Bu alıştırmada, Iris çiçek veri kümesindeki verileri ve aynı verileri temel alan modelleri depolamak için bir veritabanı oluşturun. Iris verileri hem R hem de Python dağıtımlarına dahil edilir ve SQL makine öğrenmesi için makine öğrenmesi öğreticilerinde kullanılır.
Bu alıştırmayı tamamlamak için SQL Server Management Studio (SSMS) veya T-SQL sorguları çalıştırabilen başka bir aracınız olmalıdır.
Bu veri kümesini kullanan öğreticiler ve hızlı başlangıçlar şunları içerir:
Veritabanını oluşturma
SQL Server Management Studio'yu başlatın ve yeni bir Sorgu penceresi açın.
Bu proje için yeni bir veritabanı oluşturun ve Sorgu pencerenizin bağlamını yeni veritabanını kullanacak şekilde değiştirin.
CREATE DATABASE irissql GO USE irissql GOBazı boş tablolar ekleyin: biri verileri depolamak için, diğeri de eğitilen modelleri depolamak için. iris_models tablosu, diğer alıştırmalarda oluşturulan serileştirilmiş modelleri depolamak için kullanılır.
Aşağıdaki kod, eğitim verileri için tabloyu oluşturur.
DROP TABLE IF EXISTS iris_data; GO CREATE TABLE iris_data ( id INT NOT NULL IDENTITY PRIMARY KEY , "Sepal.Length" FLOAT NOT NULL, "Sepal.Width" FLOAT NOT NULL , "Petal.Length" FLOAT NOT NULL, "Petal.Width" FLOAT NOT NULL , "Species" VARCHAR(100) NOT NULL, "SpeciesId" INT NOT NULL );Eğitilen modeli depolamak için kullanılan tabloyu oluşturmak için aşağıdaki kodu çalıştırın. Python (veya R) modellerini SQL Server'a kaydetmek için bunların serileştirilmesi ve varbinary(max) türünde bir sütunda depolanması gerekir.
DROP TABLE IF EXISTS iris_models; GO CREATE TABLE iris_models ( model_name VARCHAR(50) NOT NULL DEFAULT('default model') PRIMARY KEY, model VARBINARY(MAX) NOT NULL ); GOModel içeriğine ek olarak, genellikle modelin adı, eğitildiği tarih, kaynak algoritma ve parametreler, kaynak veriler vb. gibi diğer yararlı meta veriler için sütunlar da eklersiniz. Şimdilik basit tutacağız ve yalnızca model adını kullanacağız.
Tabloyu doldur
Yerleşik Iris verilerini R veya Python'dan alabilirsiniz. Python veya R kullanarak verileri bir veri çerçevesine yükleyebilir ve ardından veritabanındaki bir tabloya ekleyebilirsiniz. Eğitim verilerini dış oturumdan tabloya taşımak çok adımlı bir işlemdir:
- İstediğiniz verileri alacak bir saklı yordam tasarlayın.
- Saklı prosedürü çalıştırarak verileri gerçekten al.
- Alınan verilerin kaydedileceği yeri belirtmek için bir INSERT deyimi oluşturma.
Python tümleştirmesi olan sistemlerde verileri yüklemek için Python kodunu kullanan aşağıdaki saklı yordamı oluşturun.
CREATE PROCEDURE get_iris_dataset AS BEGIN EXEC sp_execute_external_script @language = N'Python', @script = N' from sklearn import datasets iris = datasets.load_iris() iris_data = pandas.DataFrame(iris.data) iris_data["Species"] = pandas.Categorical.from_codes(iris.target, iris.target_names) iris_data["SpeciesId"] = iris.target ', @input_data_1 = N'', @output_data_1_name = N'iris_data' WITH RESULT SETS (("Sepal.Length" float not null, "Sepal.Width" float not null, "Petal.Length" float not null, "Petal.Width" float not null, "Species" varchar(100) not null, "SpeciesId" int not null)); END; GOBu kodu çalıştırdığınızda "Komutlar başarıyla tamamlandı" iletisini almanız gerekir. Tüm bu, saklı yordamın belirtimlerinize göre oluşturulduğu anlamına gelir.
Alternatif olarak, R tümleştirmesi olan sistemlerde bunun yerine R kullanan bir yordam oluşturun.
CREATE PROCEDURE get_iris_dataset AS BEGIN EXEC sp_execute_external_script @language = N'R', @script = N' library(RevoScaleR) data(iris) iris$SpeciesID <- c(unclass(iris$Species)) iris_data <- iris ', @input_data_1 = N'', @output_data_1_name = N'iris_data' WITH RESULT SETS (("Sepal.Length" float not null, "Sepal.Width" float not null, "Petal.Length" float not null, "Petal.Width" float not null, "Species" varchar(100) not null, "SpeciesId" int not null)); END; GOTabloyu doldurmak için saklı prosedürü çalıştırın ve verilerin yazılacağı tabloyu belirtin. Çalıştırıldığında saklı yordam, yerleşik Iris veri kümesini yükleyen Python veya R kodunu yürütür ve ardından verileri iris_data tablosuna ekler.
INSERT INTO iris_data ("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width", "Species", "SpeciesId") EXEC dbo.get_iris_dataset;T-SQL'i yeni kullanıyorsanız INSERT deyiminin yalnızca yeni veriler eklediğini unutmayın; mevcut verileri denetlemez veya tabloyu silip yeniden oluşturmaz. Bir tabloda aynı verilerin birden çok kopyasını almaktan kaçınmak için, önce şu deyimi çalıştırabilirsiniz:
TRUNCATE TABLE iris_data. T-SQL TRUNCATE TABLE deyimi var olan verileri siler ancak tablonun yapısını olduğu gibi tutar.
Verileri sorgulama
Doğrulama adımı olarak, verilerin karşıya yüklendiğini onaylamak için bir sorgu çalıştırın.
Nesne Gezgini'ndeki Veritabanları'nın altında irissql veritabanına sağ tıklayın ve yeni bir sorgu başlatın.
Bazı basit sorgular çalıştırın:
SELECT TOP(10) * FROM iris_data; SELECT COUNT(*) FROM iris_data;
Sonraki Adımlar
Aşağıdaki hızlı başlangıçta bir makine öğrenmesi modeli oluşturacak ve bunu bir tabloya kaydedecek ve ardından modeli kullanarak tahmin edilen sonuçlar oluşturacaksınız.