Bagikan melalui


Referensi Teknis Algoritma Regresi Logistik Microsoft

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

Penting

Penambangan data tidak digunakan lagi di 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.

Algoritma Microsoft Logistic Regression adalah variasi algoritma Microsoft Neural Network, di mana parameter HIDDEN_NODE_RATIO diatur ke 0. Pengaturan ini akan membuat model jaringan neural yang tidak berisi lapisan tersembunyi, dan oleh karena itu setara dengan regresi logistik.

Implementasi Algoritma Regresi Logistik Microsoft

Misalkan kolom yang dapat diprediksi hanya berisi dua status, namun Anda masih ingin melakukan analisis regresi, yang berkaitan dengan kolom input dengan probabilitas bahwa kolom yang dapat diprediksi akan berisi status tertentu. Diagram berikut mengilustrasikan hasil yang akan Anda peroleh jika Anda menetapkan 1 dan 0 ke status kolom yang dapat diprediksi, menghitung probabilitas bahwa kolom akan berisi status tertentu, dan melakukan regresi linier terhadap variabel input.

Data yang dimodelkan dengan buruk menggunakan regresi linier

Sumbu x berisi nilai kolom input. Sumbu y berisi probabilitas bahwa kolom yang dapat diprediksi akan menjadi satu status atau yang lain. Masalahnya adalah bahwa regresi linier tidak membatasi kolom menjadi antara 0 dan 1, meskipun itu adalah nilai maksimum dan minimum kolom. Cara untuk mengatasi masalah ini adalah dengan melakukan regresi logistik. Alih-alih membuat garis lurus, analisis regresi logistik membuat kurva berbentuk "S" yang berisi batasan maksimum dan minimum. Misalnya, diagram berikut mengilustrasikan hasil yang akan Anda capai jika Anda melakukan regresi logistik terhadap data yang sama seperti yang digunakan untuk contoh sebelumnya.

Data yang dimodelkan dengan menggunakan Data regresi logistik

Perhatikan bagaimana kurva tidak pernah di atas 1 atau di bawah 0. Anda dapat menggunakan regresi logistik untuk menjelaskan kolom input mana yang penting dalam menentukan status kolom yang dapat diprediksi.

Pemilihan Fitur

Pemilihan fitur digunakan secara otomatis oleh semua algoritma penggalian data Analysis Services untuk meningkatkan analisis dan mengurangi beban pemrosesan. Metode yang digunakan untuk pemilihan fitur dalam model regresi logistik tergantung pada jenis data atribut. Karena regresi logistik didasarkan pada algoritma Microsoft Neural Network, regresi logistik menggunakan subset metode pemilihan fitur yang berlaku untuk jaringan neural. Untuk informasi selengkapnya, lihat Pemilihan Fitur (Penggalian Data).

Input Penilaian

Penilaian dalam konteks model jaringan neural atau model regresi logistik berarti proses mengonversi nilai yang ada dalam data menjadi sekumpulan nilai yang menggunakan skala yang sama dan oleh karena itu dapat dibandingkan satu sama lain. Misalnya, input untuk Pendapatan berkisar antara 0 hingga 100.000 sedangkan input untuk [Jumlah Anak] berkisar antara 0 hingga 5. Proses konversi ini memungkinkan Anda membandingkan kepentingan setiap input terlepas dari perbedaan nilai.

Untuk setiap status yang muncul dalam set pelatihan, model menghasilkan input. Untuk input diskret atau diskret, input tambahan dibuat untuk mewakili status Hilang, jika status hilang muncul setidaknya sekali dalam set pelatihan. Untuk input berkelanjutan, paling banyak dua simpul input dibuat: satu untuk Nilai yang hilang, jika ada dalam data pelatihan, dan satu input untuk semua nilai yang ada, atau non-null. Setiap input diskalakan ke format numerik menggunakan metode normalisasi skor z, (x - μ)\StdDev.

Selama normalisasi skor z, rata-rata (μ) dan simpangihan standar diperoleh selama set pelatihan lengkap.

Nilai berkelanjutan

Nilai ada: (X - μ)/σ (X adalah nilai aktual yang dikodekan)

Nilai tidak ada: - μ/σ (mu negatif dibagi dengan sigma)

Nilai diskrit

μ = p (probabilitas status sebelumnya)

StdDev = sqrt(p\(1-p))

Nilai ada: \(1 - μ)/σ (Satu minus mu dibagi dengan sigma)

Nilai tidak ada: (- μ)/σ (mu negatif dibagi dengan sigma)

Memahami Koefisien Regresi Logistik

Ada berbagai metode dalam literatur statistik untuk melakukan regresi logistik, tetapi bagian penting dari semua metode adalah menilai kecocokan model. Berbagai statistik kebaikan yang sesuai telah diusulkan, di antaranya rasio peluang dan pola kovariat. Diskusi tentang cara mengukur kecocokan model berada di luar cakupan topik ini; namun, Anda dapat mengambil nilai koefisien dalam model dan menggunakannya untuk merancang ukuran kecocokan Anda sendiri.

Catatan

Koefisien yang dibuat sebagai bagian dari model regresi logistik tidak mewakili rasio peluang dan tidak boleh ditafsirkan seperti itu.

Koefisien untuk setiap simpul dalam grafik model mewakili jumlah input tertimbang ke simpul tersebut. Dalam model regresi logistik, lapisan tersembunyi kosong; oleh karena itu, hanya ada satu set koefisien, yang disimpan dalam simpul output. Anda bisa mengambil nilai koefisien dengan menggunakan kueri berikut:

SELECT FLATTENED [NODE_UNIQUE NAME],  
(SELECT ATTRIBUTE_NAME< ATTRIBUTE_VALUE  
FROM NODE_DISTRIBUTION) AS t  
FROM <model name>.CONTENT  
WHERE NODE_TYPE = 23  

Untuk setiap nilai output, kueri ini mengembalikan koefisien dan ID yang menunjuk kembali ke simpul input terkait. Ini juga mengembalikan baris yang berisi nilai output dan intersepsi. Setiap input X memiliki koefisien sendiri (Ci), tetapi tabel berlapis juga berisi koefisien "gratis" (Co), dihitung menurut rumus berikut:

F(X) = X1*C1 + X2*C2 + ... +Xn*Cn + X0

Aktivasi: exp(F(X)) / (1 + exp(F(X)) )

Untuk informasi selengkapnya, lihat Contoh Kueri Model Regresi Logistik.

Menyesuaikan Algoritma Regresi Logistik

Algoritma regresi logistik Microsoft mendukung beberapa parameter yang memengaruhi perilaku, performa, dan akurasi model penambangan yang dihasilkan. Anda juga dapat mengubah perilaku model dengan mengatur bendera pemodelan pada kolom yang digunakan sebagai input.

Mengatur Parameter Algoritma

Tabel berikut menjelaskan parameter yang dapat digunakan dengan algoritma Regresi Logistik Microsoft.

HOLDOUT_PERCENTAGE
Menentukan persentase kasus dalam data pelatihan yang digunakan untuk menghitung kesalahan holdout. HOLDOUT_PERCENTAGE digunakan sebagai bagian dari kriteria penghentian saat melatih model penambangan.

Defaultnya adalah 30.

HOLDOUT_SEED
Menentukan angka yang akan digunakan untuk menyemai generator pseudo-random saat menentukan data holdout secara acak. Jika HOLDOUT_SEED diatur ke 0, algoritma menghasilkan benih berdasarkan nama model penambangan, untuk menjamin bahwa konten model tetap sama selama pemrosesan ulang.

Defaultnya adalah 0.

MAXIMUM_INPUT_ATTRIBUTES
Menentukan jumlah atribut input yang dapat ditangani algoritma sebelum memanggil pemilihan fitur. Atur nilai ini ke 0 untuk menonaktifkan pilihan fitur.

Defaultnya adalah 255.

MAXIMUM_OUTPUT_ATTRIBUTES
Menentukan jumlah atribut output yang dapat ditangani algoritma sebelum memanggil pemilihan fitur. Atur nilai ini ke 0 untuk menonaktifkan pilihan fitur.

Defaultnya adalah 255.

MAXIMUM_STATES
Menentukan jumlah maksimum status atribut yang didukung algoritma. Jika jumlah status yang dimiliki atribut lebih besar dari jumlah maksimum status, algoritma menggunakan status atribut yang paling populer dan mengabaikan status yang tersisa.

Nilai defaultnya adalah 100.

SAMPLE_SIZE
Menentukan jumlah kasus yang akan digunakan untuk melatih model. Penyedia algoritma menggunakan angka ini atau persentase total kasus yang tidak disertakan dalam persentase holdout seperti yang ditentukan oleh parameter HOLDOUT_PERCENTAGE, nilai mana pun yang lebih kecil.

Dengan kata lain, jika HOLDOUT_PERCENTAGE diatur ke 30, algoritma akan menggunakan nilai parameter ini, atau nilai yang sama dengan 70 persen dari jumlah total kasus, mana pun yang lebih kecil.

Defaultnya adalah 10000.

Bendera Pemodelan

Bendera pemodelan berikut didukung untuk digunakan dengan algoritma Regresi Logistik Microsoft.

NOT_NULL
Menunjukkan bahwa kolom tidak boleh berisi null. Kesalahan akan mengakibatkan jika Analysis Services mengalami null selama pelatihan model.

Berlaku untuk kolom struktur penambangan.

MODEL_EXISTENCE_ONLY
Berarti bahwa kolom akan diperlakukan sebagai memiliki dua kemungkinan status: Hilang dan Ada. Null adalah nilai yang hilang.

Berlaku untuk kolom model penambangan.

Persyaratan

Model regresi logistik harus berisi kolom kunci, kolom input, dan setidaknya satu kolom yang dapat diprediksi.

Kolom Input dan Yang Dapat Diprediksi

Algoritma Microsoft Logistic Regression mendukung jenis konten kolom input tertentu, jenis konten kolom yang dapat diprediksi, dan bendera pemodelan yang tercantum dalam tabel berikut. Untuk informasi selengkapnya tentang arti jenis konten saat digunakan dalam model penambangan, lihat Jenis Konten (Penggalian Data).

Kolom Jenis konten
Atribut input Berkelanjutan, Diskret, Diskret, Kunci, Tabel
Atribut yang dapat diprediksi Berkelanjutan, Diskret, Diskret

Lihat juga

Algoritma Regresi Logistik Microsoft
Contoh Kueri Model Regresi Linier
Menambang Konten Model untuk Model Regresi Logistik (Analysis Services - Penggalian Data)
Algoritma Jaringan Neural Microsoft