Bagikan melalui


Contoh Kueri Model Naive Bayes

Berlaku untuk: SQL Server 2019 dan Analysis Services Azure Analysis Services Fabric/Power BI Premium sebelumnya

Penting

Penambangan data tidak digunakan lagi pada SQL Server 2017 Analysis Services dan sekarang dihentikan di SQL Server 2022 Analysis Services. Dokumentasi tidak diperbarui untuk fitur yang tidak digunakan lagi dan dihentikan. Untuk mempelajari selengkapnya, lihat Kompatibilitas mundur Analysis Services.

Saat Anda membuat kueri terhadap model penggalian data, Anda bisa membuat kueri konten, yang menyediakan detail tentang pola yang ditemukan dalam analisis, atau Anda dapat membuat kueri prediksi, yang menggunakan pola dalam model untuk membuat prediksi untuk data baru. Anda juga dapat mengambil metadata tentang model dengan menggunakan kueri terhadap himpunan baris skema penambangan data. Bagian ini menjelaskan cara membuat kueri ini untuk model yang didasarkan pada algoritma Microsoft Naive Bayes.

Kueri Konten

Mendapatkan metadata model dengan menggunakan DMX

Mengambil ringkasan data pelatihan

Menemukan informasi selengkapnya tentang atribut

Menggunakan prosedur tersimpan sistem

Kueri Prediksi

Memprediksi hasil menggunakan kueri singleton

Mendapatkan prediksi dengan probabilitas dan nilai dukungan

Memprediksi asosiasi

Menemukan Informasi tentang Model Naive Bayes

Konten model model Naive Bayes menyediakan informasi agregat tentang distribusi nilai dalam data pelatihan. Anda juga dapat mengambil informasi tentang metadata model dengan membuat kueri terhadap himpunan baris skema penambangan data.

Kueri Sampel 1: Mendapatkan Metadata Model dengan Menggunakan DMX

Dengan mengkueri himpunan baris skema penggalian data, Anda dapat menemukan metadata untuk model tersebut. Ini mungkin termasuk ketika model dibuat, ketika model terakhir diproses, nama struktur penambangan yang didasarkan pada model, dan nama kolom yang digunakan sebagai atribut yang dapat diprediksi. Anda juga dapat mengembalikan parameter yang digunakan saat model dibuat.

SELECT MODEL_CATALOG, MODEL_NAME, DATE_CREATED, LAST_PROCESSED,  
SERVICE_NAME, PREDICTION_ENTITY, FILTER  
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'TM_NaiveBayes_Filtered'  

Hasil sampel:

Baris Metadata
MODEL_CATALOG AdventureWorks
MODEL_NAME TM_NaiveBayes_Filtered
DATE_CREATED 3/1/2008 19:15
LAST_PROCESSED 3/2/2008 20:00
SERVICE_NAME Microsoft_Naive_Bayes
PREDICTION_ENTITY Pembeli Sepeda, Pendapatan Tahunan
FILTER [Wilayah] = 'Eropa' ATAU [Wilayah] = 'Amerika Utara'

Model yang digunakan untuk contoh ini didasarkan pada model Naive Bayes yang Anda buat di Tutorial Penggalian Data Dasar, tetapi dimodifikasi dengan menambahkan atribut kedua yang dapat diprediksi dan menerapkan filter ke data pelatihan.

Kueri Sampel 2: Mengambil Ringkasan Data Pelatihan

Dalam model Naive Bayes, simpul statistik marginal menyimpan informasi agregat tentang distribusi nilai dalam data pelatihan. Ringkasan ini nyaman dan menyelamatkan Anda dari keramaian membuat kueri SQL terhadap data pelatihan untuk menemukan informasi yang sama.

Contoh berikut menggunakan kueri konten DMX untuk mengambil data dari simpul (NODE_TYPE = 24). Karena statistik disimpan dalam tabel berlapis, kata kunci FLATTENED digunakan untuk membuat hasilnya lebih mudah dilihat.

SELECT FLATTENED MODEL_NAME,  
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, [SUPPORT], [PROBABILITY], VALUETYPE FROM NODE_DISTRIBUTION) AS t  
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 26  

Catatan

Anda harus menyertakan nama kolom, DUKUNGAN, dan PROBABILITAS, dalam tanda kurung siku untuk membedakannya dari kata kunci yang dicadangkan Ekspresi Multidimensi (MDX) dengan nama yang sama.

Hasil parsial:

MODEL_NAME t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITAS t.VALUETYPE
TM_NaiveBayes Pembeli Sepeda Tidak ada 0 0 1
TM_NaiveBayes Pembeli Sepeda 0 8869 0.507263784 4
TM_NaiveBayes Pembeli Sepeda 1 8615 0.492736216 4
TM_NaiveBayes Jenis kelamin Tidak ada 0 0 1
TM_NaiveBayes Jenis kelamin F 8656 0.495081217 4
TM_NaiveBayes Jenis kelamin M 8828 0.504918783 4

Misalnya, hasil ini memberi tahu Anda jumlah kasus pelatihan untuk setiap nilai diskrit (VALUETYPE = 4), bersama dengan probabilitas komputasi, disesuaikan untuk nilai yang hilang (VALUETYPE = 1).

Untuk definisi nilai yang disediakan dalam tabel NODE_DISTRIBUTION dalam model Naive Bayes, lihat Menambang Konten Model untuk Naive Bayes Models (Analysis Services - Data Mining). Untuk informasi selengkapnya tentang bagaimana penghitungan dukungan dan probabilitas dipengaruhi oleh nilai yang hilang, lihat Nilai yang Hilang (Analysis Services - Data Mining).

Kueri Sampel 3: Menemukan Informasi Selengkapnya tentang Atribut

Karena model Naive Bayes sering berisi informasi kompleks tentang hubungan di antara atribut yang berbeda, cara termampu untuk melihat hubungan ini adalah dengan menggunakan Microsoft Naive Bayes Viewer. Namun, Anda dapat membuat kueri DMX untuk mengembalikan data.

Contoh berikut menunjukkan cara mengembalikan informasi dari model tentang atribut tertentu, Region.

SELECT NODE_TYPE, NODE_CAPTION,   
NODE_PROBABILITY, NODE_SUPPORT, MSOLAP_NODE_SCORE  
FROM TM_NaiveBayes.CONTENT  
WHERE ATTRIBUTE_NAME = 'Region'  

Kueri ini mengembalikan dua jenis simpul: simpul yang mewakili atribut input (NODE_TYPE = 10), dan simpul untuk setiap nilai atribut (NODE_TYPE = 11). Node caption digunakan untuk mengidentifikasi node, bukan nama node, karena caption menunjukkan nama atribut dan nilai atribut.

NODE_TYPE NODE_CAPTION NODE_PROBABILITY NODE_SUPPORT MSOLAP_NODE_SCORE NODE_TYPE
10 Pembeli Sepeda -> Wilayah 1 17484 84.51555875 10
11 Pembeli Sepeda -> Wilayah = Hilang 0 0 0 11
11 Pembeli Sepeda -> Wilayah = Amerika Utara 0.508236102 8886 0 11
11 Pembeli Sepeda -> Wilayah = Pasifik 0.193891558 3390 0 11
11 Pembeli Sepeda -> Wilayah = Eropa 0.29787234 5208 0 11

Beberapa kolom yang disimpan dalam simpul sama dengan yang bisa Anda dapatkan dari simpul statistik marginal, seperti skor probabilitas simpul dan nilai dukungan simpul. Namun, MSOLAP_NODE_SCORE adalah nilai khusus yang disediakan hanya untuk simpul atribut input, dan menunjukkan kepentingan relatif dari atribut ini dalam model. Anda dapat melihat banyak informasi yang sama di panel Jaringan Dependensi penampil; namun, penonton tidak memberikan skor.

Kueri berikut mengembalikan skor kepentingan semua atribut dalam model:

SELECT NODE_CAPTION, MSOLAP_NODE_SCORE  
FROM TM_NaiveBayes.CONTENT  
WHERE NODE_TYPE = 10  
ORDER BY MSOLAP_NODE_SCORE DESC  

Hasil sampel:

NODE_CAPTION MSOLAP_NODE_SCORE
Pembeli Sepeda -> Total Anak 181.3654836
Pembeli Sepeda -> Jarak Perjalanan 179.8419482
Pembeli Sepeda -> Pendidikan Bahasa Inggris 156.9841928
Pembeli Sepeda -> Jumlah Anak Di Rumah 111.8122599
Pembeli Sepeda -> Wilayah 84.51555875
Pembeli Sepeda -> Status Perkawinan 23.13297354
Pembeli Sepeda -> Pekerjaan Bahasa Inggris 2.832069191

Dengan menelusuri konten model di Penampil Pohon Konten Generik Microsoft, Anda akan mendapatkan gambaran yang lebih baik tentang statistik apa yang mungkin menarik. Beberapa contoh sederhana ditunjukkan di sini; lebih sering Anda mungkin perlu menjalankan beberapa kueri atau menyimpan hasilnya dan memprosesnya pada klien.

Kueri Sampel 4: Menggunakan Prosedur Tersimpan Sistem

Selain menulis kueri konten Anda sendiri, Anda dapat menggunakan beberapa prosedur tersimpan sistem Analysis Services untuk menjelajahi hasilnya. Untuk menggunakan prosedur tersimpan sistem, awali nama prosedur tersimpan dengan kata kunci PANGGILAN:

CALL GetPredictableAttributes ('TM_NaiveBayes')  

Hasil parsial:

ATTRIBUTE_NAME NODE_UNIQUE_NAME
Pembeli Sepeda 100000001

Catatan

Prosedur tersimpan sistem ini adalah untuk komunikasi internal antara server Analysis Services dan klien dan hanya boleh digunakan untuk kenyamanan saat mengembangkan dan menguji model penambangan. Saat Anda membuat kueri untuk sistem produksi, Anda harus selalu menulis kueri Anda sendiri dengan menggunakan DMX.

Untuk informasi selengkapnya tentang prosedur tersimpan sistem Analysis Services, lihat Prosedur Tersimpan Penggalian Data (Analysis Services - Penggalian Data).

Menggunakan Model Naive Bayes untuk Membuat Prediksi

Algoritma Microsoft Naive Bayes biasanya digunakan lebih sedikit untuk prediksi daripada untuk eksplorasi hubungan di antara atribut input dan yang dapat diprediksi. Namun, model ini mendukung penggunaan fungsi prediksi untuk prediksi dan asosiasi.

Kueri Sampel 5: Memprediksi Hasil menggunakan Kueri Singleton

Kueri berikut menggunakan kueri database tunggal untuk memberikan nilai dan prediksi baru, berdasarkan model, apakah pelanggan dengan karakteristik ini kemungkinan akan membeli sepeda. Cara termampu untuk membuat kueri database tunggal pada model regresi adalah dengan menggunakan kotak dialog Input Kueri Singleton . Misalnya, Anda dapat membuat kueri DMX berikut dengan memilih TM_NaiveBayes model, memilih Kueri Singleton, dan memilih nilai dari daftar dropdown untuk [Commute Distance] dan Gender.

SELECT  
  Predict([TM_NaiveBayes].[Bike Buyer])  
FROM  
  [TM_NaiveBayes]  
NATURAL PREDICTION JOIN  
(SELECT '5-10 Miles' AS [Commute Distance],  
  'F' AS [Gender]) AS t  

Contoh hasil:

Ekspresi
0

Fungsi prediksi mengembalikan nilai yang paling mungkin, dalam hal ini, 0, yang berarti jenis pelanggan ini tidak mungkin membeli sepeda.

Kueri Sampel 6: Mendapatkan Prediksi dengan Probabilitas dan Nilai Dukungan

Selain memprediksi hasil, Anda sering ingin tahu seberapa kuat prediksinya. Kueri berikut menggunakan kueri database tunggal yang sama dengan contoh sebelumnya, tetapi menambahkan fungsi prediksi, PredictHistogram (DMX), untuk mengembalikan tabel berlapis yang berisi statistik yang mendukung prediksi.

SELECT  
  Predict([TM_NaiveBayes].[Bike Buyer]),  
  PredictHistogram([TM_NaiveBayes].[Bike Buyer])  
FROM  
  [TM_NaiveBayes]  
NATURAL PREDICTION JOIN  
(SELECT '5-10 Miles' AS [Commute Distance],  
  'F' AS [Gender]) AS t  

Contoh hasil:

Pembeli Sepeda $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY $VARIANCE $STDEV
0 10161.5714 0.581192599 0.010530981 0 0
1 7321.428768 0.418750215 0.008945684 0 0
0.999828444 5,72E-05 5,72E-05 0 0

Baris akhir dalam tabel memperlihatkan penyesuaian untuk mendukung dan probabilitas untuk nilai yang hilang. Nilai varians dan simpannan standar selalu 0, karena model Naive Bayes tidak dapat memodelkan nilai berkelanjutan.

Kueri Sampel 7: Memprediksi Asosiasi

Algoritma Microsoft Naive Bayes dapat digunakan untuk analisis asosiasi, jika struktur penambangan berisi tabel berlapis dengan atribut yang dapat diprediksi sebagai kunci. Misalnya, Anda dapat membangun model Naive Bayes dengan menggunakan struktur penambangan yang dibuat di Pelajaran 3: Membangun Skenario Market Basket (Tutorial Penggalian Data Menengah) dari tutorial penggalian data. Model yang digunakan dalam contoh ini dimodifikasi untuk menambahkan informasi tentang pendapatan dan wilayah pelanggan dalam tabel kasus.

Contoh kueri berikut ini memperlihatkan kueri database tunggal yang memprediksi produk yang terkait dengan pembelian produk, 'Road Tire Tube'. Anda dapat menggunakan informasi ini untuk merekomendasikan produk ke jenis pelanggan tertentu.

SELECT   PredictAssociation([Association].[v Assoc Seq Line Items])  
FROM [Association_NB]  
NATURAL PREDICTION JOIN  
(SELECT 'High' AS [Income Group],  
  'Europe' AS [Region],  
  (SELECT 'Road Tire Tube' AS [Model])   
AS [v Assoc Seq Line Items])   
AS t  

Hasil parsial:

Model
Celana Pendek Gunung Wanita
Botol Air
Touring-3000
Touring-2000
Touring-1000

Daftar Fungsi

Semua algoritma Microsoft mendukung serangkaian fungsi umum. Namun, algoritma Microsoft Naive Bayes mendukung fungsi tambahan yang tercantum dalam tabel berikut.

Fungsi Prediksi Penggunaan
IsDescendant (DMX) Menentukan apakah satu simpul adalah anak dari simpul lain dalam model.
Prediksi (DMX) Mengembalikan nilai yang diprediksi, atau kumpulan nilai, untuk kolom tertentu.
PredictAdjustedProbability (DMX) Mengembalikan probabilitas tertimbang.
PredictAssociation (DMX) Memprediksi keanggotaan dalam himpunan data asosiatif.
PredictNodeId (DMX) Mengembalikan Node_ID untuk setiap kasus.
PredictProbability (DMX) Mengembalikan probabilitas untuk nilai yang diprediksi.
PredictSupport (DMX) Mengembalikan nilai dukungan untuk status tertentu.

Untuk melihat sintaks fungsi tertentu, lihat Referensi Fungsi Ekstensi Penggalian Data (DMX).

Lihat juga

Referensi Teknis Algoritma Microsoft Naive Bayes
Algoritma Microsoft Naive Bayes
Konten Model Penambangan untuk Model Naive Bayes (Analysis Services - Penggalian Data)