Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan peraturan persatuan untuk perlombongan data dalam Python?

Bagaimana untuk menggunakan peraturan persatuan untuk perlombongan data dalam Python?

WBOY
WBOYasal
2023-06-04 09:02:191364semak imbas

Python ialah bahasa pengaturcaraan yang berkuasa yang boleh digunakan untuk pelbagai tugas perlombongan data. Peraturan persatuan ialah salah satu teknik perlombongan data biasa, yang bertujuan untuk menemui perkaitan antara titik data yang berbeza untuk memahami set data dengan lebih baik. Dalam artikel ini, kita akan membincangkan cara menggunakan peraturan persatuan dalam Python untuk perlombongan data.

Apakah itu Peraturan Persatuan

Peraturan persatuan ialah teknologi perlombongan data yang digunakan untuk menemui perkaitan antara titik data yang berbeza. Ia sering digunakan dalam analisis bakul beli-belah, di mana kita boleh menemui item yang sering dibeli bersama-sama untuk menyusunnya di jabatan kedai di mana ia diletakkan.

Dalam peraturan persatuan, kami mempunyai dua jenis elemen: set item dan peraturan.

Set projek mengandungi berbilang projek dan peraturan ialah perhubungan logik. Contohnya, jika set item mengandungi A, B dan C, peraturan A->B bermakna apabila A berlaku, B juga berkemungkinan berlaku. Peraturan lain, B->C, bermakna apabila B muncul, C juga berkemungkinan muncul.

Langkah untuk menggunakan Python untuk perlombongan data peraturan persatuan

Untuk menggunakan Python untuk perlombongan data peraturan persatuan, kita perlu mengikuti langkah berikut:

1 >

Pertama, kita perlu menyediakan data yang ingin kita gunakan. Algoritma peraturan persatuan biasanya menggunakan data transaksi, seperti sejarah pembelian atau rekod interaksi dengan pelanggan.

Dalam Python, kita boleh menggunakan bingkai data panda untuk memuatkan data dan kemudian menukarnya kepada format yang sesuai untuk algoritma. Format yang biasa digunakan ialah Senarai Senarai, di mana setiap subsenarai mewakili transaksi dan elemen mewakili item dalam transaksi.

Sebagai contoh, kod berikut memuatkan fail CSV yang mengandungi contoh maklumat transaksi dan menukarkannya kepada format Senarai Senarai:

import pandas as pd

# Load data from CSV file
data = pd.read_csv('transactions.csv')

# Convert data to List of Lists format
transactions = []
for i, row in data.iterrows():
    transaction = []
    for col in data.columns:
        if row[col] == 1:
            transaction.append(col)
    transactions.append(transaction)

2 Gunakan algoritma peraturan perkaitan untuk mencari peraturan

Setelah kami menukar data kepada format yang sesuai untuk algoritma, kami boleh menggunakan mana-mana algoritma peraturan persatuan untuk mencari peraturan. Algoritma yang paling biasa ialah algoritma Apriori, yang mengikut langkah berikut:

    Imbas semua transaksi untuk menentukan kekerapan item.
  • Gunakan kekerapan item untuk menjana set item calon.
  • Imbas semua transaksi untuk menentukan kekerapan set item calon.
  • Jana peraturan berdasarkan set item calon.
Dalam Python, kita boleh menggunakan perpustakaan pymining untuk melaksanakan algoritma Apriori. Berikut ialah kod sampel yang menunjukkan cara menggunakan Pymining untuk mencari set item yang kerap:

from pymining import itemmining

relim_input = itemmining.get_relim_input(transactions)
item_sets = itemmining.relim(relim_input, min_support=2)
print(item_sets)

Dalam contoh ini, kami menggunakan parameter min_support, yang menentukan ambang sokongan untuk menentukan set item yang kerap. Dalam kes ini, kami menggunakan sokongan 2, yang bermaksud hanya set item yang muncul dalam sekurang-kurangnya dua transaksi dianggap set item kerap.

3. Nilaikan peraturan

Selepas mencari set item yang kerap, kami boleh menggunakannya untuk menjana peraturan. Selepas menjana peraturan, kita perlu menilai mereka untuk menentukan peraturan mana yang paling masuk akal.

Terdapat beberapa metrik penilaian biasa yang boleh digunakan untuk menilai peraturan. Dua daripada yang paling biasa ialah keyakinan dan sokongan.

Keyakinan menunjukkan ketepatan peraturan. Ia merujuk kepada kebarangkalian bahawa jika A berlaku, B juga berkemungkinan berlaku. Ia dikira seperti berikut:

keyakinan(A->B) = sokongan(A dan B) / sokongan(A)

di mana sokongan(A dan B) bermakna A muncul di masa yang sama Bilangan transaksi dengan B, sokongan(A) ialah bilangan transaksi di mana A muncul.

Sokongan menunjukkan kesejagatan peraturan. Ia merujuk kepada kebarangkalian yang dikira oleh formula berikut:

sokongan(A dan B) / total_transactions

di mana, total_transactions ialah bilangan semua transaksi.

Dalam Python, kita boleh menggunakan perpustakaan pymining untuk mengira keyakinan dan sokongan. Berikut ialah kod sampel yang menunjukkan cara mengira keyakinan peraturan:

from pymining import perftesting

rules = perftesting.association_rules(item_sets, 0.6)

for rule in rules:
    item1 = rule[0]
    item2 = rule[1]
    confidence = rule[2]
    support = rule[3]
    print(f'Rule: {item1} -> {item2}')
    print(f'Confidence: {confidence}')
    print(f'Support: {support}
')

Dalam contoh ini, kami menggunakan ambang keyakinan 0.6, yang bermaksud hanya apabila keyakinan peraturan itu lebih tinggi daripada 0.6 , ia akan dianggap peraturan yang bermakna.

Ringkasan

Peraturan persatuan ialah salah satu teknik penting dalam perlombongan data, yang boleh membantu kami menemui perkaitan antara titik data. Dalam Python, kita boleh menggunakan algoritma peraturan persatuan dan metrik penilaian untuk mencari peraturan, menilai peraturan dan menganalisis serta meramal berdasarkan keputusan. Dalam amalan, kita mungkin perlu memvisualisasikan atau menyerahkan keputusan kepada model pembelajaran mesin untuk analisis lanjut bagi mendapatkan lebih banyak cerapan daripada data.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan peraturan persatuan untuk perlombongan data dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn