Cara menggunakan RULES_PYTHON pada Python

Halo semua para pembaca di web codekop, kali ini saya ingin membagikan sebuah tulisan tentang Data Mining, dikala waktu itu saya juga masih belajar tentang salah satu konsep Data Mining yang sekarang sering dipakai untuk judul-judul skripsi mahasiswa informatika, seperti saya juga mengangkat salah satu judul dengan konsep Data Mining.

Seperti judul diatas saya akan lebih ke spesifik menulis Penerapan Algoritma Apriori : Contoh dan Implementasi menggunakan Python dalam lingkup aturan asosiasi ( Association Rule Learning )

Algoritma Apriori

Bicara soal Algoritma, Algoritma adalah urutan atau langkah-langkah yang logis dan sistematis untuk memecahkan dan menyelesaikan suatu masalah. Algoritma tidak selalu identik dengan ilmu komputer saja, dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma, dan algoritma pun juga merupakan kumpulan perintah untuk menyelesaikan suatu masalah.

Lalu membahas Algoritma Apriori, Apriori yaitu termasuk jenis aturan asosiasi atau association rule dalam data mining. Aturan yang menyatakan asosiasi antara beberapa atribut sering disebut affinity analysis atau market basket analysis.

Association Rule

Analisis asosiasi atau Association Rule adalah teknik data mining untuk menemukan aturan asosiatif antara suatu kombinasi item . Association Rule didefinisikan suatu proses untuk menemukan semua aturan asosiatif yang memenuhi syarat minimum support dan syarat minimum confidence.

Contoh Penerapan :

Menganalisis transaksi penjualan di suatu toko / warung, disetiap  pembelian yang dilakukan oleh konsumen, akan tercatat ID transaksi dan pada setiap transaksi dan memungkinkan ada satu atau lebih barang (item) yang dibeli, jika ada 100 transaksi setiap harinya, maka sudah ada 3000 transaksi dalam 1 bulan, nah dari transaksi inilah terbentuk pola-pola kombinasi pembelian item barang, seperti misal Konsumen A membeli  { beras, telur dan minyak }, Konsumen B membeli { telur dan minyak }  dan seterusnya.

Lalu peran Association Rule pada Algoritma Apriori disini diterapkan untuk membaca pola atau kecendrungan pembelian konsumen dengan melakukan perhitungan dari pembentukan suatu pola asosiasi produk pada data transaksi penjualan,  untuk menampilkan informasi tentang hasil informasi berupa pembentukan suatu pola asosiasi produk yang paling sering dibeli konsumen.

contoh : seberapa besar kemungkinan seorang pelanggan beli { beras, telur dan minyak } berupa persentase kepercayaan (confidence), berdasarkan data transaksi yang sudah hitung.

Dengan pengetahuan tersebut, data yang dihasilkan akan digunakan untuk sebagai pendukung pengambilan keputusan dalam membuat solusi bisnis pemilik di suatu toko / warung ataupun pengusaha lainnya yang dapat  mengatur penempatan barangnya atau merancang kampanye pemasaran dengan memakai kupon diskon untuk kombinasi barang tertentu.

Tahapan proses perhitungan Algoritma Apriori

Association rule dengan menentukan minimum support dan confidence untuk dapat menunjukan seberapa besar suatu rule yang dapat dipercaya dengan penjelasan sebagai berikut:

  • Support adalah suatu ukuran atau nilai penunjang yang menunjukkan seberapa besar tingkat dominasi suatu item atau itemset dari keseluruhan transaksi berdasarkan persentase kombinasi item dalam database.
  • Confidence adalah suatu ukuran atau nilai yang menunjukkan kuatnya hubungan antar dua item dalam aturan asosiasi berdasarkan suatu kondisi tertentu.

Berikut adalah tahapan-tahapan proses algoritma apriori, untuk mencari kombinasi item yang memenuhi syarat minimum dari nilai support

  1. Tentukan minimum support
    Minimum Support yang digunakan adalah 0.3 atau sebesar 30%
  2. Iterasi 1 : hitung item-item dari support (transaksi yang memuat seluruh item) dengan menscan database untuk 1-itemset, setelah 1-itemset didapatkan, dari 1-itemset apakah diatas minimum support, apabila telah memenuhi minimum support, 1-itemset tersebut akan menjadi pola frekuensi tinggi.

     

    Cara menggunakan RULES_PYTHON pada Python

  3. Iterasi 2 : untuk mendapatkan 2-itemset, harus dilakukan kombinasi dari 1 itemset, kemudian scan database lagi untuk hitung item-item yang memuat support. Itemset yang memenuhi minimum support akan dipilih sebagai pola frekuensi tinggi dari kandidat.

     

    Cara menggunakan RULES_PYTHON pada Python

  4. Tetapkan nilai k-itemset dari support yang telah memenuhi minimum support dari k-itemset.   
  5. Lakukan proses untuk iterasi selanjutnya hingga tidak ada lagi k-itemset yang memenuhi minimum support.
  6. Hitung nilai confidence dan buat tabel aturan asosiasi.

      

    Cara menggunakan RULES_PYTHON pada Python

    Cara menggunakan RULES_PYTHON pada Python

    Kesimpulan perhitungan: Jika membeli barangA, dan membeli barangB memiliki confidence atau tingkat kepercayaan sebesar 44.44%.

Percobaan dengan perhitungan Pemrograman Python

Pada percobaan dengan perhitungan apriori pada pemrograman python menggunakan data transaksi sebanyak 102 transaksi dengan ketentuan nilai :

  • Minimum Support : 0.14 atau 14%  
  • Minimum confidence : 0.80 atau 80%.

Data Transaksi Penjualan xlsx

 

Cara menggunakan RULES_PYTHON pada Python


Berikut tahapan-tahapan dari perhitungan menggunakan pemrograman python untuk mengesekusi perhitungan pada program :

  1. Buka Google Colaboratory lalu Install Library yang dibutuhkan :
    # Menginstall Library
    !pip install pandas
    !pip install numpy
    !pip install apyori
  2. Import Libary yang di butuhkan :
    # Memanggil library yang dibutuhkan
    import pandas as pd
    import numpy as np
    from apyori import apriori​
  3. Persiapan Dataset
    Pada langkah ini akan memasukan data transaksi dengan dataset yang sudah disiapkan pada file excel (.xlsx) data transaksi penjualan.
    # Load data Google Colab  ( File Excel pada Google Drive)
    df= pd.read_excel('drive/MyDrive/Skripsi/dataset_2021-06-10.xlsx')
    df.head()​

    Proses ini membaca file excel mengunakan library pandas. Dimana nama file excel yang di gunakan adalah dataset_2021-06-10.xlsx, file ini di simpan 1 folder dengan lokasi script yang sedang kita jalankan, jika sudah berhasil maka akan muncul tabel dari data tersebut.

     
    Cara menggunakan RULES_PYTHON pada Python
     

  4. Cleaning Data
    Pada langkah ini kita akan melakukan cleaning data  dimana kolom yang tidak diperlukan seperti tanggal, dan id transaksi, kita hanya memerlukan kolom items yang adanya pola transaksi items.
    # Membuang kolom Tanggal, ID Transaksi
    data=df.drop(['Tanggal','ID Transaksi'],axis=1)​

  5. Data Training
    Pada langkah ini kita akan training dataset menjadi data training agar dapat diolah dengan format array seperti berikut ini :
    # Membuat list dalam list dari transaksi pembelian barang
    records = []
    for i in range(data.shape[0]):
        records.append([str(data.values[i,j]).split(',') for j in range(data.shape[1])])
    
    trx = [[] for trx in range(len(records))]
    for i in range(len(records)):
        for j in records[i][0]:
            trx[i].append(j)
    trx​

    Hasil Screenshoot :

     

    Cara menggunakan RULES_PYTHON pada Python
     

  6. Lakukan Perhitungan Apriori
    Selanjutnya adalah membuat variabel dimana terdiri dari beberapa barang yang sering / terbeli dari seluruh transaksi menggunakan perintah apriori.
    # Menggunakan fungsi apriori untuk membuat asosiasi
    association_rules = apriori(trx, min_support=0.14, min_confidence=0.80,min_lift=1)
    # Membuat list hasil dari algoritma apriori
    association_results = association_rules

    Dimana perintah yang di gunakan adalah apriori, dengan data dari data training berbentuk array dengan minimum nilai support 0.14 / 14%, dan minimum confidence 0.80 / 80%.

  7. Menampilkan Hasil Perhitungan

    # Menampilkan hasil asosiasi dari item 
    pd.set_option('max_colwidth', 1000)
    Result=pd.DataFrame(columns=['Rule','Support','Confidence'])
    for item in association_results:
        pair = item[2]
        for i in pair:
            items = str([x for x in i[0]])
            if i[3]!=1:
                Result=Result.append({
                    'Rule':str([x for x in i[0]])+ " -> " +str([x for x in i[1]]),
                    'Support':str(round(item[1]*100,2))+'%',
                    'Confidence':str(round(i[2] *100,2))+'%'
                    },ignore_index=True)
    Result​

    Hasil Screenshoot :

     
    Cara menggunakan RULES_PYTHON pada Python
     

Kesimpulan :

Lalu kesimpulan kita ambil dari penerapan Association Rule menggunakan Algoritma Apriori dari hasil percobaan dari menggunakan pemrograman python dari 102 data transaksi penjualan adalah sebagai berikut ini :

  1. Jika membeli Alat Linting Kecil Regular maka akan juga membeli Buffalo Baret dengan memiliki confidence atau tingkat kepercayaan sebesar 83.33%.
  2. Jika membeli Lem V-tro kecil 10gr maka akan juga membeli Buffalo Baret dengan memiliki confidence atau tingkat kepercayaan sebesar 88.0%.

Source Code :

File Github


Akhir Kata

Pembahasan ini sebatas sharing atau berbagi  untuk artikel data mining yaitu Penerapan Association Rule menggunakan Algoritma Apriori, contoh dan perhitungan menggunakan python, Terima kasih sudah berkunjung, semoga tutorial ini bermanfaat, mohon maaf bila ada kesalahan informasi, sumber data, kata-kata, dan kekurangan pada tulisan kali ini. salam koding.

Sumber :

  • Kusrini, &. E. (2009). Algoritma Data Mining. Yogyakarta: Andi Offset.
  • Prasetyo, E. (2014). Data Mining. Yogyakarta: Andi Offset.
  • Larose, D. T. (2014). Discovering Knowledge in Data: An Introduction to Data Mining Second Edition. New Jersey: John Wiley & Sons Inc