Bagikan melalui


Contoh Kueri Model Regresi Logistik

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 bisa membuat kueri prediksi, yang menggunakan pola dalam model untuk membuat prediksi menggunakan data baru.

Bagian ini menjelaskan cara membuat kueri untuk model yang didasarkan pada algoritma Microsoft Logistic Regression.

Kueri Konten

Mengambil Parameter Model dengan Menggunakan Himpunan Baris Skema Penggalian Data

Menemukan Detail Tambahan tentang Model dengan Menggunakan DMX

Kueri Prediksi

Membuat Prediksi untuk Nilai Berkelanjutan

Membuat Prediksi untuk Nilai Diskrit

Mendapatkan Informasi tentang Model Regresi Logistik

Model regresi logistik dibuat dengan menggunakan algoritma Microsoft Neural Network dengan serangkaian parameter khusus; oleh karena itu, model regresi logistik memiliki beberapa informasi yang sama dengan model jaringan neural, tetapi kurang kompleks. Untuk memahami struktur konten model, dan jenis node mana yang menyimpan jenis informasi apa, lihat Menambang Konten Model untuk Model Regresi Logistik (Analysis Services - Penggalian Data).

Untuk mengikuti skenario kueri, Anda dapat membuat model regresi logistik seperti yang dijelaskan di bagian berikut dari Tutorial Penggalian Data Menengah: Pelajaran 5: Membangun Model Jaringan Neural dan Regresi Logistik (Tutorial Penggalian Data Menengah).

Anda juga dapat menggunakan struktur penambangan, Surat Bertarget, dari Tutorial Penggalian Data Dasar.

ALTER MINING STRUCTURE [Targeted Mailing]  
ADD MINING MODEL [TM_Logistic Regression]  
([Customer Key],  
[Age],  
[Bike Buyer] PREDICT,  
[Yearly Income] PREDICT,  
[Commute Distance],  
[English Education],  
Gender,  
[House Owner Flag],  
[Marital Status],  
[Number Cars Owned],  
[Number Children At Home],  
[Region],  
[Total Children]  
)  
USING Microsoft_Logistic_Regression  

Kueri Sampel 1: Mengambil Parameter Model dengan Menggunakan Himpunan Baris Skema Penggalian Data

Dengan mengkueri himpunan baris skema penggalian data, Anda dapat menemukan metadata tentang model, seperti saat model dibuat, ketika model terakhir diproses, nama struktur penambangan yang menjadi dasar model, dan nama kolom yang digunakan sebagai atribut yang dapat diprediksi. Contoh berikut mengembalikan parameter yang digunakan saat model pertama kali dibuat, bersama dengan nama dan jenis model, dan tanggal pembuatannya.

SELECT MODEL_NAME, SERVICE_NAME, DATE_CREATED, MINING_PARAMETERS   
FROM $system.DMSCHEMA_MINING_MODELS  
WHERE MODEL_NAME = 'Call Center_LR'  

Hasil sampel:

MODEL_NAME SERVICE_NAME DATE_CREATED MINING_PARAMETERS
Memanggil Center_LR Microsoft_Logistic_Regression 04/07/2009 20:38:33 HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=1, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000

Kueri Sampel 2: Menemukan Detail Tambahan tentang Model dengan Menggunakan DMX

Kueri berikut mengembalikan beberapa informasi dasar tentang model regresi logistik. Model regresi logistik mirip dengan model jaringan neural dalam banyak cara, termasuk keberadaan simpul statistik marginal (NODE_TYPE = 24) yang menjelaskan nilai yang digunakan sebagai input. Contoh kueri ini menggunakan model Surat Bertarget, dan mendapatkan nilai semua input dengan mengambilnya dari tabel berlapis, NODE_DISTRIBUTION.

SELECT FLATTENED NODE_DISTRIBUTION AS t  
FROM [TM_Logistic Regression].CONTENT   

Hasil parsial:

t.ATTRIBUTE_NAME t.ATTRIBUTE_VALUE t.SUPPORT t.PROBABILITAS t.VARIANS t.VALUETYPE
Usia Tidak ada 0 0 0 1
Usia 45.43491192 17484 1 126.9544114 3
Pembeli Sepeda Tidak ada 0 0 0 1
Pembeli Sepeda 0 8869 0.507263784 0 4
Pembeli Sepeda 1 8615 0.492736216 0 4
Jarak Perjalanan Tidak ada 0 0 0 1
Jarak Perjalanan 5-10 Mil 3033 0.173472889 0 4

Kueri aktual mengembalikan lebih banyak baris; namun, sampel ini menggambarkan jenis informasi yang disediakan tentang input. Untuk input diskrit, setiap nilai yang mungkin tercantum dalam tabel. Untuk input bernilai berkelanjutan seperti Usia, daftar lengkap tidak mungkin, sehingga input disingkirkan sebagai rata-rata. Untuk informasi selengkapnya tentang cara menggunakan informasi dalam simpul statistik marginal, lihat Menambang Konten Model untuk Model Regresi Logistik (Analysis Services - Penggalian Data).

Catatan

Hasilnya telah diratakan untuk tampilan yang lebih mudah, tetapi Anda dapat mengembalikan tabel berlapis dalam satu kolom jika penyedia Anda mendukung set baris hierarkis.

Kueri Prediksi pada Model Regresi Logistik

Anda dapat menggunakan fungsi Predict (DMX) dengan setiap jenis model penambangan untuk memberikan data baru ke model dan membuat prediksi berdasarkan nilai baru. Anda juga dapat menggunakan fungsi untuk mengembalikan informasi tambahan tentang prediksi, seperti probabilitas bahwa prediksi sudah benar. Bagian ini menyediakan beberapa contoh kueri prediksi pada model regresi logistik.

Kueri Sampel 3: Membuat Prediksi untuk Nilai Berkelanjutan

Karena regresi logistik mendukung penggunaan atribut berkelanjutan untuk input dan prediksi, mudah untuk membuat model yang menghubungkan berbagai faktor dalam data Anda. Anda dapat menggunakan kueri prediksi untuk menjelajahi hubungan di antara faktor-faktor ini.

Sampel kueri berikut didasarkan pada model Call Center, dari Tutorial Menengah, dan membuat kueri singleton yang memprediksi tingkat layanan untuk shift Friday AM. Fungsi PredictHistogram (DMX) mengembalikan tabel berlapis yang menyediakan statistik yang relevan untuk memahami validitas nilai yang diprediksi.

SELECT  
  Predict([Call Center_LR].[Service Grade]) as Predicted ServiceGrade,  
  PredictHistogram([Call Center_LR].[Service Grade]) as [Results],  
FROM  
  [Call Center_LR]  
NATURAL PREDICTION JOIN  
(SELECT 'Friday' AS [Day Of Week],  
  'AM' AS [Shift]) AS t  

Hasil sampel:

Prediksi Tingkat Layanan Tingkat Layanan $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY $VARIANCE $STDEV
0.102601830123659 0.102601830123659 83.0232558139535 0.988372093023256 0 0.00120552660600087 0.034720694203902
0.976744186046512 0.0116279069767442 0.0116279069767442 0 0

Untuk informasi selengkapnya tentang probabilitas, dukungan, dan nilai simpangan baku dalam tabel NODE_DISTRIBUTION berlapis, lihat Menambang Konten Model untuk Model Regresi Logistik (Analysis Services - Penggalian Data).

Kueri Sampel 4: Membuat Prediksi untuk Nilai Diskrit

Regresi logistik biasanya digunakan dalam skenario di mana Anda ingin menganalisis faktor-faktor yang berkontribusi pada hasil biner. Meskipun model yang digunakan dalam tutorial memprediksi nilai berkelanjutan, ServiceGrade, dalam skenario kehidupan nyata, Anda mungkin ingin menyiapkan model untuk memprediksi apakah tingkat layanan memenuhi beberapa nilai target yang disesali. Atau, Anda dapat menghasilkan prediksi menggunakan nilai berkelanjutan tetapi kemudian mengelompokkan hasil yang diprediksi menjadi Baik, Adil, atau Buruk.

Contoh berikut menggambarkan cara mengubah cara atribut yang dapat diprediksi dikelompokkan. Untuk melakukan ini, Anda membuat salinan struktur penambangan lalu mengubah metode diskretisasi kolom target sehingga nilai dikelompokkan daripada berkelanjutan.

Prosedur berikut ini menjelaskan cara mengubah pengelompokan nilai Service Grade dalam data Call Center.

Untuk membuat versi diskret struktur dan model penambangan Call Center
  1. Dalam SQL Server Data Tools, dalam Penjelajah Solusi, perluas Struktur Penambangan.

  2. Klik kanan Call Center.dmm dan pilih Salin.

  3. Klik kanan Struktur Penambangan dan pilih Tempel. Struktur penambangan baru ditambahkan, bernama Call Center 1.

  4. Klik kanan struktur penambangan baru dan pilih Ganti Nama. Ketik nama baru, Call Center Discretized.

  5. Klik dua kali struktur penambangan baru untuk membukanya di perancang. Perhatikan bahwa model penambangan semuanya telah disalin juga, dan semua memiliki ekstensi 1. Biarkan nama apa adanya untuk saat ini.

  6. Di tab Struktur Penambangan , klik kanan kolom untuk Service Grade, dan pilih Properti.

  7. Ubah properti Konten dari Berkelanjutan ke Diskret. Ubah properti DiscretizationMethod menjadi Kluster. Untuk Discretization BucketCount, ketik 3.

    Catatan

    Parameter ini hanya digunakan untuk mengilustrasikan proses, dan tidak selalu menghasilkan model yang valid,

  8. Dari menu Model Penambangan , pilih Struktur proses dan semua model.

Kueri sampel berikut didasarkan pada model yang disederhanakan ini, dan memprediksi tingkat layanan untuk hari yang ditentukan dalam seminggu, bersama dengan probabilitas untuk setiap hasil yang diprediksi.

SELECT  
  (PredictHistogram([Call Center_LR 1].[Service Grade])) as [Predictions]  
FROM  
  [Call Center_LR 1]  
NATURAL PREDICTION JOIN  
(SELECT 'Saturday' AS [Day Of Week]) AS t    

Hasil yang diharapkan:

Prediksi:

Tingkat Layanan $SUPPORT $PROBABILITY $ADJUSTEDPROBABILITY $VARIANCE $STDEV
0.10872718383125 35.7246504770641 0.425293458060287 0.0170168360030293 0 0
0.05855769230625 31.7098880800703 0.377498667619885 0.020882020060454 0 0
0.170169491525 15.6109159883202 0.185844237956192 0.0661386571386049 0 0
0.954545454545455 0.0113636363636364 0.0113636363636364 0 0

Perhatikan bahwa hasil yang diprediksi telah dikelompokkan ke dalam tiga kategori seperti yang ditentukan; namun, pengelompokan ini didasarkan pada pengklusteran nilai aktual dalam data, bukan nilai arbitrer yang mungkin Anda tetapkan sebagai tujuan bisnis.

Daftar Fungsi Prediksi

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

Fungsi Prediksi Penggunaan
IsDescendant (DMX) Menentukan apakah satu simpul adalah anak dari simpul lain dalam model.
PredictAdjustedProbability (DMX) Mengembalikan probabilitas yang disesuaikan dari status yang ditentukan.
PredictHistogram (DMX) Mengembalikan nilai yang diprediksi, atau sekumpulan nilai, untuk kolom tertentu.
PredictProbability (DMX) Mengembalikan probabilitas untuk status tertentu.
PredictStdev (DMX) Mengembalikan simpannan standar untuk nilai yang diprediksi.
PredictSupport (DMX) Mengembalikan nilai dukungan untuk status tertentu.
PredictVariance (DMX) Mengembalikan varian kolom tertentu.

Untuk daftar fungsi yang umum untuk semua algoritma Microsoft, lihat Fungsi Prediksi Umum (DMX). Untuk sintaks fungsi tertentu, lihat Referensi Fungsi Ekstensi Penggalian Data (DMX).

Catatan

Untuk jaringan neural dan model regresi logistik, fungsi PredictSupport (DMX) mengembalikan nilai tunggal yang mewakili ukuran set pelatihan untuk seluruh model.

Lihat juga

Kueri Penggalian Data
Algoritma Regresi Logistik Microsoft
Referensi Teknis Algoritma Regresi Logistik Microsoft
Konten Model Penambangan untuk Model Regresi Logistik (Analysis Services - Penggalian Data)
Pelajaran 5: Membangun Model Jaringan Neural dan Regresi Logistik (Tutorial Penggalian Data Menengah)