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
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)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk