Referensi Teknis Algoritma Regresi Logistik dari Microsoft

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

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 lainnya. Masalahnya adalah bahwa regresi linier tidak membatasi kolom menjadi antara 0 dan 1, meskipun itu adalah nilai maksimum dan minimum kolom. Cara untuk menyelesaikan 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 regresi logistik

Perhatikan bagaimana kurva tidak pernah berada 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 keadaan yang muncul di set data pelatihan, model menghasilkan input. Untuk input diskret atau terdiskretisasi, input tambahan dibuat untuk mewakili status hilang, jika status hilang ditemukan setidaknya sekali dalam set pelatihan. Untuk masukan berkelanjutan, paling banyak dua node input dibuat: satu untuk nilai yang hilang, jika terdapat dalam data pelatihan, dan satu input untuk semua nilai yang ada, atau non-null. Setiap input diskalakan ke format numerik menggunakan metode normalisasi z-score, (x - μ)\StdDev.

Selama normalisasi z-score, rata-rata (μ) dan simpangan standar diperoleh dari seluruh set pelatihan.

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 dikurangi 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.

Nota

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 intersep. Setiap input X memiliki koefisien sendiri (Ci), tetapi tabel berlapis juga berisi koefisien "gratis" (Co), dihitung sesuai dengan 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 Microsoft Logistic Regression.

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

Defaultnya adalah 30.

HOLDOUT_SEED
Menetapkan sebuah angka yang akan digunakan untuk menginisialisasi 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.

ATRIBUT_KELUARAN_MAKSIMUM
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 termasuk 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 yang lebih kecil.

Defaultnya adalah 10000.

Bendera Pemodelan

Bendera pemodelan berikut didukung untuk digunakan dengan algoritma Microsoft Logistic Regression.

TIDAK 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 Sudah 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 Tipe Konten (Penggalian Data).

kolom Jenis konten
Atribut input Kontinu, Diskret, Diskretisasi, Kunci, Tabel
Atribut yang dapat diprediksi Kontinu, Diskret, Diskretisasi

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