Bagikan melalui


Referensi Teknis Algoritma Asosiasi Microsoft

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.

Algoritma Aturan Asosiasi Microsoft adalah implementasi langsung dari algoritma Apriori yang terkenal.

Algoritma Microsoft Decision Trees dan algoritma Aturan Asosiasi Microsoft dapat digunakan untuk menganalisis asosiasi, tetapi aturan yang ditemukan oleh setiap algoritma dapat berbeda. Dalam model pohon keputusan, pemisahan yang mengarah pada aturan tertentu didasarkan pada perolehan informasi, sedangkan dalam model asosiasi, aturan didasarkan sepenuhnya pada keyakinan. Oleh karena itu, dalam model asosiasi, aturan yang kuat, atau yang memiliki keyakinan tinggi, mungkin belum tentu menarik karena tidak memberikan informasi baru.

Implementasi Algoritma Asosiasi Microsoft

Algoritma Apriori tidak menganalisis pola, melainkan menghasilkan dan kemudian menghitung item kandidat. Item dapat mewakili peristiwa, produk, atau nilai atribut, tergantung pada jenis data yang sedang dianalisis.

Dalam jenis variabel Boolean model asosiasi yang paling umum, mewakili nilai Ya/Tidak atau Hilang/Ada, ditetapkan ke setiap atribut, seperti nama produk atau peristiwa. Analisis keranjang pasar adalah contoh model aturan asosiasi yang menggunakan variabel Boolean untuk mewakili keberadaan atau tidak adanya produk tertentu dalam keranjang belanja pelanggan.

Untuk setiap item, algoritma kemudian membuat skor yang mewakili dukungan dan keyakinan. Skor ini dapat digunakan untuk memberi peringkat dan memperoleh aturan menarik dari item.

Model asosiasi juga dapat dibuat untuk atribut numerik. Jika atribut terus menerus, angka dapat disingkapkan, atau dikelompokkan dalam wadah. Nilai yang diskret kemudian dapat ditangani baik sebagai Boolean atau sebagai pasangan atribut-nilai.

Dukungan, Probabilitas, dan Kepentingan

Dukungan, yang issometime disebut sebagai frekuensi, berarti jumlah kasus yang berisi item yang ditargetkan atau kombinasi item. Hanya item yang memiliki setidaknya jumlah dukungan yang ditentukan yang dapat disertakan dalam model.

Itemet yang sering mengacu pada kumpulan item di mana kombinasi item juga memiliki dukungan di atas ambang batas yang ditentukan oleh parameter MINIMUM_SUPPORT. Misalnya, jika item adalah {A,B,C} dan nilai MINIMUM_SUPPORT adalah 10, setiap item individu A, B, dan C harus ditemukan dalam setidaknya 10 kasus untuk disertakan dalam model, dan kombinasi item {A,B,C} juga harus ditemukan dalam setidaknya 10 kasus.

Catatan Anda juga dapat mengontrol jumlah item dalam model penambangan dengan menentukan panjang maksimum itemet, dengan panjang berarti jumlah item.

Secara default, dukungan untuk item atau item tertentu mewakili hitungan kasus yang berisi item atau item tersebut. Namun, Anda juga dapat mengekspresikan MINIMUM_SUPPORT sebagai persentase dari total kasus dalam himpunan data, dengan mengetikkan angka sebagai nilai desimal kurang dari 1. Misalnya, jika Anda menentukan nilai MINIMUM_SUPPORT 0,03, itu berarti bahwa setidaknya 3% dari total kasus dalam himpunan data harus berisi item atau item ini untuk dimasukkan dalam model. Anda harus bereksperimen dengan model Anda untuk menentukan apakah menggunakan hitungan atau persentase lebih masuk akal.

Sebaliknya, ambang batas untuk aturan dinyatakan bukan sebagai hitungan atau persentase, tetapi sebagai probabilitas, terkadang disebut sebagai keyakinan. Misalnya, jika itemet {A,B,C} terjadi dalam 50 kasus, tetapi itemet {A,B,D} juga terjadi dalam 50 kasus, dan itemet {A,B} dalam 50 kasus lain, jelas bahwa {A,B} bukan prediktor kuat {C}. Oleh karena itu, untuk menimbang hasil tertentu terhadap semua hasil yang diketahui, SQL Server Analysis Services menghitung probabilitas aturan individual (seperti If {A,B} Lalu {C}) dengan membagi dukungan untuk item {A,B,C} dengan dukungan untuk semua item terkait.

Anda dapat membatasi jumlah aturan yang dihasilkan model dengan menetapkan nilai untuk MINIMUM_PROBABILITY.

Untuk setiap aturan yang dibuat, SQL Server Analysis Services menghasilkan skor yang menunjukkan pentingnya, yang juga disimpulkan sebagai angkat. Tingkatkan Kepentingan dihitung secara berbeda untuk itemet dan aturan.

Pentingnya item dihitung sebagai probabilitas itemet dibagi dengan probabilitas majemuk dari item individual dalam item. Misalnya, jika item berisi {A,B}, SQL Server Analysis Services terlebih dahulu menghitung semua kasus yang berisi kombinasi A dan B ini, dan membaginya dengan jumlah total kasus, lalu menormalkan probabilitas.

Pentingnya aturan dihitung oleh kemungkinan log dari sisi kanan aturan, mengingat sisi kiri aturan. Misalnya, dalam aturan If {A} Then {B}, SQL Server Analysis Services menghitung rasio kasus dengan A dan B atas kasus dengan B tetapi tanpa A, lalu menormalkan rasio tersebut dengan menggunakan skala logaritma.

Pemilihan Fitur

Algoritma Aturan Asosiasi Microsoft tidak melakukan seleksi fitur otomatis apa pun. Sebagai gantinya, algoritma menyediakan parameter yang mengontrol data yang digunakan oleh algoritma. Ini mungkin termasuk batasan ukuran setiap item, atau mengatur dukungan maksimum dan minimum yang diperlukan untuk menambahkan item ke model.

  • Untuk memfilter item dan peristiwa yang terlalu umum dan karenanya tidak menarik, kurangi nilai MAXIMUM_SUPPORT untuk menghapus itemet yang sangat sering dari model.

  • Untuk memfilter item dan item yang jarang, tingkatkan nilai MINIMUM_SUPPORT.

  • Untuk memfilter aturan, tingkatkan nilai MINIMUM_PROBABILITY.

Menyesuaikan Algoritma Aturan Asosiasi Microsoft

Algoritma Aturan Asosiasi Microsoft mendukung beberapa parameter yang memengaruhi perilaku, performa, dan akurasi model penambangan yang dihasilkan.

Mengatur Parameter Algoritma

Anda dapat mengubah parameter untuk model penambangan kapan saja dengan menggunakan Designer Penggalian Data di SQL Server Data Tools. Anda juga dapat mengubah parameter secara terprogram dengan menggunakan AlgorithmParameters koleksi di AMO, atau dengan menggunakan MiningModels Element (ASSL) di XMLA. Tabel berikut ini menjelaskan setiap parameter.

Catatan

Anda tidak dapat mengubah parameter dalam model yang ada dengan menggunakan pernyataan DMX; Anda harus menentukan parameter dalam DMX CREATE MODEL atau ALTER STRUCTURE... TAMBAHKAN MODEL saat Anda membuat model.

MAXIMUM_ITEMSET_COUNT
Menentukan jumlah maksimum item yang akan dihasilkan. Jika tidak ada angka yang ditentukan, nilai default akan digunakan.

Defaultnya adalah 200000.

Catatan

Item diberi peringkat berdasarkan dukungan. Di antara itemet yang memiliki dukungan yang sama, pemesanan bersifat arbitrer.

MAXIMUM_ITEMSET_SIZE
Menentukan jumlah maksimum item yang diperbolehkan dalam item. Mengatur nilai ini ke 0 menentukan bahwa tidak ada batasan ukuran item.

Standarnya adalah 3.

Catatan

Mengurangi nilai ini berpotensi mengurangi waktu yang diperlukan untuk membuat model, karena pemrosesan model berhenti saat batas tercapai.

MAXIMUM_SUPPORT
Menentukan jumlah maksimum kasus yang dimiliki item untuk didukung. Parameter ini dapat digunakan untuk menghilangkan item yang sering muncul dan karenanya berpotensi memiliki sedikit arti.

Jika nilai ini kurang dari 1, nilai mewakili persentase dari total kasus. Nilai yang lebih besar dari 1 mewakili jumlah absolut kasus yang dapat berisi itemet.

Defaultnya adalah 1.

MINIMUM_ITEMSET_SIZE
Menentukan jumlah minimum item yang diperbolehkan dalam item. Jika Anda menambah jumlah ini, model mungkin berisi lebih sedikit itemet. Ini dapat berguna jika Anda ingin mengabaikan item item tunggal, misalnya.

Defaultnya adalah 1.

Catatan

Anda tidak dapat mengurangi waktu pemrosesan model dengan meningkatkan nilai minimum, karena SQL Server Analysis Services harus menghitung probabilitas untuk item tunggal sebagai bagian dari pemrosesan. Namun, dengan mengatur nilai ini lebih tinggi, Anda dapat memfilter itemet yang lebih kecil.

MINIMUM_PROBABILITY
Menentukan probabilitas minimum bahwa aturan benar.

Misalnya, jika Anda menetapkan nilai ini ke 0,5, itu berarti bahwa tidak ada aturan dengan probabilitas kurang dari lima puluh persen yang dapat dihasilkan.

Defaultnya adalah 0,4.

MINIMUM_SUPPORT
Menentukan jumlah minimum kasus yang harus berisi itemet sebelum algoritma menghasilkan aturan.

Jika Anda mengatur nilai ini menjadi kurang dari 1, jumlah minimum kasus dihitung sebagai persentase dari total kasus.

Jika Anda mengatur nilai ini ke bilangan bulat yang lebih besar dari 1, menentukan jumlah minimum kasus dihitung sebagai hitungan kasus yang harus berisi itemet. Algoritma mungkin secara otomatis meningkatkan nilai parameter ini jika memori terbatas.

Defaultnya adalah 0,03. Ini berarti bahwa untuk dimasukkan dalam model, itemet harus ditemukan dalam setidaknya 3% kasus.

OPTIMIZED_PREDICTION_COUNT
Menentukan jumlah item yang akan di-cache untuk mengoptimalkan prediksi.

Nilai default adalah 0. Ketika default digunakan, algoritma akan menghasilkan prediksi sebanyak yang diminta dalam kueri.

Jika Anda menentukan nilai bukan nol untuk OPTIMIZED_PREDICTION_COUNT, kueri prediksi dapat mengembalikan paling banyak jumlah item yang ditentukan, bahkan jika Anda meminta prediksi tambahan. Namun, menetapkan nilai dapat meningkatkan performa prediksi.

Misalnya, jika nilai diatur ke 3, algoritma hanya menyimpan 3 item untuk prediksi. Anda tidak dapat melihat prediksi tambahan yang mungkin sama mungkin untuk 3 item yang dikembalikan.

Bendera Pemodelan

Bendera pemodelan berikut didukung untuk digunakan dengan algoritma Aturan Asosiasi Microsoft.

NOT_NULL
Menunjukkan bahwa kolom tidak boleh berisi null. Kesalahan akan mengakibatkan jika SQL Server 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 asosiasi harus berisi kolom kunci, kolom input, dan satu kolom yang dapat diprediksi.

Kolom Input dan Yang Dapat Diprediksi

Algoritma Aturan Asosiasi Microsoft mendukung kolom input tertentu dan kolom yang dapat diprediksi yang tercantum dalam tabel berikut ini. Untuk informasi selengkapnya tentang arti jenis konten dalam model penambangan, lihat Jenis Konten (Penggalian Data).

Kolom Jenis konten
Atribut input Cyclical, Discrete, Discretized, Key, Table, Ordered
Atribut yang dapat diprediksi Siklus, Diskret, Diskret, Tabel, Diurutkan

Catatan

Jenis konten Cyclical dan Ordered didukung, tetapi algoritma memperlakukannya sebagai nilai diskrit dan tidak melakukan pemrosesan khusus.

Lihat juga

Algoritma Asosiasi Microsoft
Contoh Kueri Model Asosiasi
Menambang Konten Model untuk Model Asosiasi (Analysis Services - Penggalian Data)