Algoritma Apriori ialah kaedah biasa untuk perlombongan peraturan persatuan dalam bidang perlombongan data, dan digunakan secara meluas dalam risikan perniagaan, pemasaran dan bidang lain. Sebagai bahasa pengaturcaraan umum, Python juga menyediakan berbilang perpustakaan pihak ketiga untuk melaksanakan algoritma Apriori Artikel ini akan memperkenalkan secara terperinci prinsip, pelaksanaan dan aplikasi algoritma Apriori dalam Python.
1. Prinsip algoritma Apriori
Sebelum memperkenalkan prinsip algoritma Apriori, mari kita pelajari dua konsep dalam perlombongan peraturan persatuan: set item kerap dan sokongan.
Set item kerap: merujuk kepada set item yang sering muncul bersama dalam set data tertentu.
Sokongan: Kekerapan set item yang muncul dalam semua transaksi dipanggil sokongan.
Sebagai contoh, dalam data transaksi pasar raya, kekerapan gabungan {susu, kek} dalam semua transaksi ialah 10%. Kemudian, sokongan untuk gabungan ini ialah 10%.
Algoritma Apriori adalah berdasarkan konsep set item kerap dan meneroka korelasi antara item dengan mencari set item kerap lapisan demi lapisan. Ideanya adalah seperti berikut:
Secara khusus, proses pelaksanaan algoritma Apriori adalah seperti berikut:
Perlu diambil perhatian bahawa kerumitan masa algoritma Apriori adalah sangat tinggi kerana ia memerlukan pengiraan sokongan untuk setiap subset bukan kosong. Untuk mengurangkan jumlah pengiraan, beberapa teknik pengoptimuman boleh digunakan, seperti penggunaan jadual cincang dan pengurangan calon.
2. Python melaksanakan algoritma Apriori
Terdapat berbilang perpustakaan pihak ketiga dalam Python yang boleh melaksanakan algoritma Apriori, seperti mlxtend, Orange, dsb. Berikut menggunakan mlxtend sebagai contoh untuk memperkenalkan langkah pelaksanaan algoritma Apriori.
Pasang mlxtend menggunakan pip:
pip install mlxtend
Import perpustakaan numpy dan perpustakaan mlxtend:
import numpy as np from mlxtend.preprocessing import TransactionEncoder from mlxtend.frequent_patterns import apriori, association_rules
Jana set data transaksi mudah, mengandungi 4 rekod transaksi, setiap rekod terdiri daripada beberapa item Komposisi:
dataset = [['牛奶', '面包', '啤酒', '尿布'], ['牛奶', '面包', '啤酒', '尿布'], ['面包', '啤酒', '尿布', '饼干'], ['牛奶', '尿布', '啤酒', '饼干']]
Gunakan TransactionEncoder untuk menukar data kepada jadual Boolean Langkah ini adalah untuk mengekstrak set item kerap daripada set data transaksi:
te = TransactionEncoder() te_ary = te.fit(dataset).transform(dataset) df = pd.DataFrame(te_ary, columns=te.columns_)
Gunakan fungsi Apriori untuk melombong set item kerap dari jadual Boolean:
frequent_itemsets = apriori(df, min_support=0.5, use_colnames=True)
Dengan menetapkan parameter min_support, anda boleh mengawal kekerapan Sokongan minimum set item. Dalam kod di atas, sokongan minimum ditetapkan kepada 0.5.
Berdasarkan set item yang kerap, gunakan fungsi association_rules untuk membina set peraturan persatuan yang kukuh:
rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.7)
Oleh menetapkan parameter metrik, anda boleh Kawal metrik yang digunakan untuk menilai kebaikan peraturan persatuan. Dalam kod di atas, keyakinan digunakan sebagai metrik penilaian dan ambang keyakinan minimum ditetapkan kepada 0.7.
3. Senario aplikasi algoritma Apriori
Algoritma Apriori boleh digunakan dalam banyak bidang, seperti pemasaran, sistem pengesyoran, analisis rangkaian sosial, dsb. Berikut mengambil platform e-dagang sebagai contoh untuk menunjukkan aplikasi algoritma Apriori dalam pengesyoran produk.
Platform e-dagang biasanya merekodkan rekod transaksi pengguna dan menggunakan rekod ini untuk mengesyorkan produk yang pengguna mungkin berminat. Melalui algoritma Apriori, kombinasi produk frekuensi tinggi boleh dilombong Contohnya, orang yang membeli produk A, B dan C mempunyai kebarangkalian yang tinggi untuk membeli produk D. Berdasarkan peraturan persatuan ini, platform e-dagang boleh mengesyorkan produk yang sepadan kepada pengguna untuk meningkatkan kadar transaksi dan pengalaman membeli-belah pengguna.
4. Kesimpulan
Algoritma Apriori ialah kaedah perlombongan peraturan persatuan yang biasa, dan terdapat berbilang perpustakaan pihak ketiga dalam Python yang boleh melaksanakan algoritma ini. Melalui perpustakaan ini, set item yang kerap dan peraturan persatuan boleh dilombong dengan mudah untuk menyediakan sokongan untuk analisis data dan membuat keputusan perniagaan.
Atas ialah kandungan terperinci Penjelasan terperinci algoritma Apriori dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!