Anda di halaman 1dari 10

Membangun Aturan Asosiasi menggunakan Algoritma

Apriori untuk Rekomendasi Film berdasarkan Dataset


IMDb

Azzam Haqqoni Robbani1 Feri Sulianta2


Program Studi Informatika
Fakultas Teknik
Universitas Widyatama, Jl. Cikutra 204A Bandung 40125, Indonesia
Azzam.haqqoni@widyatama.ac.id , feri.sulianta@widyatama.ac.id

abstrak-Rekomendasi film berperan penting dalam membantu penonton memilih film yang sesuai dengan minat mereka,
terutama di tengah banyaknya pilihan yang tersedia. Dalam penelitian ini, kami menggunakan algoritma Apriori untuk
memberikan rekomendasi film berdasarkan data IMDb. Algoritma Apriori digunakan untuk menemukan hubungan
antara film-film berdasarkan informasi seperti genre, aktor, dan peringkat pengguna. Dengan menerapkan algoritma ini,
kami dapat mengidentifikasi pola-pola yang sering muncul di antara item-item film dalam dataset IMDb. Misalnya, jika
seorang pengguna sering menonton film-film aksi dengan aktor tertentu, algoritma Apriori dapat merekomendasikan
film-film serupa dengan genre yang sama dan melibatkan aktor yang serupa. Diharapkan bahwa implementasi algoritma
Apriori ini dapat membantu pengguna menemukan film-film yang relevan dan sesuai dengan minat mereka dalam
pengalaman menonton mereka.

preferensi pengguna. Hasil penelitian ini diharapkan dapat memberikan panduan yang berguna bagi penonton dalam
menemukan film-film yang menarik dan sesuai dengan minat mereka berdasarkan informasi IMDb yang relevan.
Keywords—association rules, dataset, Movies,apriori, IMDb

I.PEDAHULUAN
Dalam era digital saat ini, industri hiburan telah mengalami perkembangan pesat, terutama di dunia film.
Semakin banyak film yang diproduksi setiap tahunnya, sehingga memunculkan tantangan bagi penonton dalam
memilih film yang sesuai dengan minat dan preferensi mereka. Untuk mengatasi masalah tersebut, rekomendasi film
menjadi sangat penting. Rekomendasi film dapat membantu penonton menemukan film-film yang menarik dan relevan
berdasarkan preferensi mereka.

Kumpulan data bisa dikelola guna menemukan informasi yang mampu digunakan untuk mengambil langkah
yang tepat [1]. Analisa data dapat menggunakan sebuah algoritma tertentu. Algoritma apriori adalah salah satu
algoritma yang dapat diimplementasikan pada penelitian tersebut [2]. Apriori merupakan bagian dari algoritma
pencarian frequent item set dengan menggunakan metode aturan asosiatif (association rule) [3]. contohnya
adalahAturan asosiatif pada Market Basket Analysis untuk menemukan keterkaitan diantara produk atau barang dari
suatu dataset yang kemudian dipaparkan pada aturan asosiatif [4]. Proses menemukan association rule pada
kumpulan data, proses awal yang perlu dilakukan yaitu menemukan frequent itemset yang merupakan sekelompok
produk yang biasa muncul dengan bersamaan. Association rule akan menemukan pola yang mampu menghubungkan
suatu data dengan yang lain[5]. Apabila semua polafrequent itemset sudah ditemukan, proses berikutnaya adalah
menemukan aturan asosiatif yang sesuai dengan syarat yang ditentukan .
Proses utama metode priori untuk meningkatkan efisiensi dari pencarian k-itemset, [6]dapat digunakan suatu
metode tambahan yang dinamakan Apriori Property[. Metode ini dapat mengurangi lingkup pencarian sehingga
waktu pencarian dapat dipersingkat. Terdapat dua proses utama yang dilakukan dalam Metode Apriori yaitu,[7] Join
Pada proses ini setiap item dikombinasikan dengan item yang lainnya sampai tidak terbentuk kombinasi lagi[8].
Pada proses Prune ini hasil dari item yang telah dikombinasikan tadi lalu dipangkas dengan menggunakan
minimum support yang telah ditentukan oleh use, karena disadari atau tidak, selera konsumen dalam berbelanja
sebenarnya dapat dicermati dalam bentuk pengamatan data transaksi[9]
Dalam algoritma apriori, semakin rendah nilai support maka semakin banyak itemset, sehingga menghasilkan
banyak itemset yang tidak berguna atau tidak relevan. Sebaliknya, semakin tinggi nilai support maka semakin
sedikit itemset, sehingga dapat menghasilkan sedikit itemset namun berkualitas[10]
Melakukan discretization pada itemset bertipe data numerik perlu dilakukan dalam asosiasi apriori karena dapat
membantu meningkatkan kualitas hasil analisis. Dengan melakukan discretization, mengkategorikan angka-angka
yang termasuk ke dalam interval terntentu kedalam level atau kategori yang lebih mudah dipahami[11]. Hal ini
dapat membantu meningkatkan hasil kualitas data agar lebih akurat dan bermakna, mengurangi kompleksitas
itemset, memperjelas pola hubungan antara itemset tersebut dan mengurangi resiko overfitting[12].
Secara keseluruhan, melakukan discretization pada itemset bertipe data numerik dalam analisis asosiasi Apriori
memiliki manfaat yang signifikan. Hal ini membantu meningkatkan kualitas hasil analisis, mengurangi
kompleksitas, memperjelas hubungan antara itemset, dan mengurangi risiko overfitting[13]. Dengan demikian,
discretization adalah langkah penting dalam mengoptimalkan analisis asosiasi untuk data numerik[14].
tujuan dari penelitian ini yaitu untuk mengetahui pola pembelian konsumen dan mengkombinasikan barang
yang sering dibeli dan dapat menentukan strategi promosi yang tepat [15].

Dalam konteks ini, IMDb (Internet Movie Database) telah menjadi salah satu sumber informasi yang sangat
berharga bagi penonton dalam mengevaluasi dan memilih film. IMDb menyediakan beragam informasi tentang film,
termasuk genre, aktor, sutradara, sinopsis, dan peringkat pengguna. Informasi ini dapat digunakan untuk
mengidentifikasi hubungan dan pola-pola yang tersembunyi antara film-film yang ada.Dalam penelitian ini, kami
memperkenalkan implementasi algoritma Apriori untuk memberikan rekomendasi film berdasarkan data IMDb yang
akan membantu strategi rekomendasi website.

II.HIPOTHESIS
Penerapan algoritma Apriori dalam rekomendasi film berdasarkan IMDb akan meningkatkan akurasi dan
relevansi rekomendasi film bagi pengguna. Algoritma Apriori adalah algoritma yang digunakan dalam data mining
dan analisis asosiasi untuk menemukan pola-pola yang sering muncul dalam dataset transaksi. Tujuan utama
algoritma Apriori adalah untuk menemukan aturan asosiasi antara item-item yang sering muncul bersama dalam
dataset.

Pembentukan
Inisialisai
itemset

Hasil akhir Prunig itemset

Dengan mengidentifikasi pola-pola dan aturan asosiasi antara item-item film dalam dataset IMDb, algoritma
Apriori dapat mengungkapkan hubungan yang tersembunyi antara film-film berdasarkan informasi seperti genre,
aktor, dan peringkat pengguna. Dengan demikian, pengguna akan menerima rekomendasi film yang lebih sesuai
dengan minat dan preferensi mereka, meningkatkan kepuasan pengguna dan meningkatkan efektivitas sistem
rekomendasi film secara keseluruhan.

III.DATA PREPARATION
Dataset diperoleh dari website Kaggle berjudul “The movies Dataset” berisikan data pola/behaviour pengguna
selama browsing/berselancar di salah satu web. dataset tersebut terdiri dari movies_metadata.csv dan Ratings.csv.
Movies_metadata.csv memiliki 24 kolom dan 45572 Baris sedangkan Ratings.csv meiliki 4 kolom dan 100005 Baris.,
Dalam proses persiapan data, analisis data merupakan langkah awal yang penting untuk memastikan kualitas dan
relevansi data yang akan digunakan dalam analisis.
A.Pengenalan Atribut
• Movies_metadata.csv
Tabel 1 movies dataset
adult belongs_to_collection budget genres homepage id
[{'id': 16,
{'id': 10194, 'name': 'Toy 'name': http://toystory.disney.com/toy-
False 30000000 862
Story Collection', ... 'Animation'}, story
{'id': 35, '...
[{'id': 12,
'name':
False NaN 65000000 NaN 8844
'Adventure'},
{'id': 14, '...
[{'id': 10749,
{'id': 119050, 'name':
'name':
False 'Grumpy Old Men 0 NaN 15602
'Romance'},
Collect...
{'id': 35, ...
[{'id': 35,
'name':
False NaN 16000000 'Comedy'}, NaN 31357
{'id': 18,
'nam...
{'id': 96871, 'name': [{'id': 35,
False 'Father of the Bride 0 'name': NaN 11862
Col... 'Comedy'}]

Gambar1DataFrame Movies_metadata.csv

• Ratings.csv
Tabel 2 Rating.csv

movieId rating timestamp


userId

1 31 2.5 1260759144
movieId rating timestamp
userId

1 1029 3.0 1260759179

1 1061 3.0 1260759182

1 1129 2.0 1260759185

1 1172 4.0 1260759205

Gambar2.DataFrame Ratings.csv
B.Data Processing
dalam data processing atau pemprosessan data kita harus mengidentifikasi data yang kosong, duplikasi, atau
tidak relevan, sehingga dapat melakukan tindakan perbaikan yang diperlukan sebelum dilakukan mining data.
di sini kita akan menghapus data yang memiliki status NaN(Kosong) di dalam dataframe Film dikarenakan kita
tidak dapat melakukan rekomendasi film jika tidak ada judul filmnya atau bisa di sebut dengan Missing Value

Langkah selanjutnya yaitu membuat kedua dataframe menjadi satu, dataframe terdiri dari userId dan judul film
yang di tonton oleh para pengguna sehingga akan memiliki catatan dari dataframe rating yang digabungkan
dengan detail film yang sesuai dari dataframe film, dan cara untuk mengetahui catatan yang sesuai adalah dengan
menggunakan kolom movieId.

Sebelum menggabungkan, kita perlu mengubah tipe data string dari kolom id dalam dataframe film menjadi
integer seperti yang ada dalam dataframe rating.
Tabel 3 Output Merge dataframe

movieId rating timestamp


userId

1 31 2.5 1260759144

1 1029 3.0 1260759179

1 1061 3.0 1260759182

1 1129 2.0 1260759185

1 1172 4.0 1260759205

di sini kita bisa melihat bahwa kehadiran tabel timestamp tidak terlalu berguna sehingga kita akan melakukan
drop(penghapusan)pada table timestamp
setalah kita melakukan penghapusan table,sekarang kita akan membuat pivot pada dataframe yang memiliki keterangan 1 =
telah direkomendasikan oleh penonton,sedangkan 0 = yang tidak direkomendasikan oleh penonton.tetapi sebelum itu kita harus
memasitikan tidak ada data yang duplikasi atau redudansi untuk user_id dan judul film
tabel 4 Output pivot

00
'Twas the ...And
!Women Schneider
'Gator Night God 10 Items
title Art - Jagd auf ...
Bait Before Created or Less
Revolution Nihil
Christmas Woman
Baxter
userId
1 0 0 0 0 0 0 ...
2 0 0 0 0 0 0 ...
3 0 0 0 0 0 0 ...
4 0 0 0 0 0 0 ...
5 0 0 0 0 0 0 …

Dapat kita lihat bahwa kita telah berhasil membersihkan data dan juga kita telah membuat pivot tabel sehingga kita dapat
menerapkan pembentukan model association rules dan algoritma apriori

III.PROSES DATA MINING


untuk menentukan seberapa mungkin pengguna akan menonton film M2 jika dia sudah menonton film M1. Hal ini
dilakukan dengan menghitung (support), (confidence), dan lift untuk berbagai kombinasi film.
(support) dari sebuah film M1 adalah seperti probabilitas pengguna menonton film M1. Ini dinyatakan sebagai
persentase pengguna yang memiliki film M1 dalam daftar tontonan mereka.

menghitung, dari total pengguna, berapa persen pengguna yang memiliki film M1 dalam daftar tontonan mereka.

Catatan: Di sini M1 bisa menjadi satu film tunggal atau sekelompok film.

(confidence) dari sebuah film adalah, dari total pengguna yang telah menonton film M1, berapa banyak di
antaranya juga telah menonton film M2. Ini dilambangkan sebagai Confidence(M1 -> M2) dan dihitung sebagai
perbandingan antara jumlah pengguna yang telah menonton M1 dan M2 dibandingkan dengan jumlah pengguna
yang telah menonton M1.

Lift adalah rasio antara (confidence) dan (support).

Dari definisi (support), Kita tahu bahwa (M2) adalah kemungkinan pengguna menonton film M2 jika Kita
merekomendasikannya kepada semua pengguna.

Sementara Confidence(M1 -> M2) adalah kemungkinan pengguna menonton film M2 jika Kita
merekomendasikannya hanya kepada pengguna yang sudah menonton film M1. Dalam (confidence), Kita
merekomendasikan film kepada subset dari populasi.

Lift menurut definisi, adalah ukuran peningkatan kemungkinan pengguna menonton film M2 ketika Kita
merekomendasikannya kepada subset daripada ketika Kita merekomendasikannya kepada seluruh populasi. Jadi,
lift yang tinggi menunjukkan adanya hubungan antara kedua film tersebut dan sebagian besar pengguna yang
telah menonton film M1 juga kemungkinan akan menonton film M2.
disini kita akan membuat rules apriori dengan minimal support 70% karena Pengaturan minimum support yang tinggi
memungkinkan untuk mengidentifikasi dataset lebih kuat dan lebih relevan.

A.kasus pertama
kasus pertama menunjukkan korelasi atau hubungan yang cukup kuat. Rules yang ditemukan adalah sebagai
berikut:

On Guard ➔The Garden Of Eden ➔ Muxmäuschenstill


min.support(s)=0.1
confidence(c)=0.81
Jika penonton menonton Film On Guard maka di pastikan penonton akan menonton The Garden of Eden dan
juga Muxmäuschenstill
Rope,Big Fish ➔Psycho ➔ All The Ways Boys
min.support(s)=0.1
confidence(c)=0.78
Jika penonton menonton Film On Guard maka di pastikan penonton akan menonton The Garden of Eden dan
juga Muxmäuschenstill

Tabel 5.hasil hubungan antar film

confidenc convictio
antecedents consequents support lift leverage
userId e n

(The Garden of
Eden, 0.07004 7.977.99 0.06126 4.425.73
70960 (On Guard) 0.796610
Muxmäuschenstil 5 1 5 3
l)
(The Garden of
Eden, 0.07004 7.977.99 0.06126 3.055.44
70957 (On Guard) 0.701493
Muxmäuschenstil 5 1 5 0
l)

(Psycho, All the 0.07004 7.947.83 0.06123 3.739.09


197234 (Rope, Big Fish) 0.758065
Way Boys) 5 3 2 6

(Psycho, All the 0.07004 7.947.83 0.06123 3.416.84


197235 (Rope, Big Fish) 0.734375
Way Boys) 5 3 2 9

(Rain Man, The


(48 Hrs., Cockles
Hours, Sissi, 0.07153 7.746.03 0.06230 3.786.88
2541169 and Muscles, A 0.761905
Back to the 5 2 0 5
Nightmare on ...
Futur...

A.kasus kedua
di kasus kedua ini kita akan melihat rekomendasi film dari seseorang yang telah menonton film Men In Black II
dan hasilnya adalah sebagai berikut:

Men In Black II ➔ Terminator 3: Rise of the Machines➔ Nostalgia


min.support(s)=0.1
confidence(c)=0.23
Jika penonton menonton Men in black II maka ada kemungkinan akan menonton Terminator 3: Rise of the
Machines dan juga Nostalgia
Men In Black II ➔ Sleepless in Seattle➔ Jarhead
min.support(s)=0.1
confidence(c)=0.21
Jika penonton menonton Men in black II maka ada kemungkinan akan menonton Sleepless in Seattle dan
juga Jarhead
Men In Black II ➔ The 39 Steps➔ Nostalgia
min.support(s)=0.1
confidence(c)=0.21
Jika penonton menonton Men in black II maka ada kemungkinan akan The 39 Steps dan juga Nostalgia
Men In Black II ➔ Point Breaks➔ Terminator 3: Rise of the Machines
min.support(s)=0.1
confidence(c)=0.22
Jika penonton menonton Men in black II maka ada kemungkinan akan Point Breaks dan juga Terminator 3

Tabel 6.hasil hubungan film Men In Black II

antecedents consequents support confidence lift leverage conviction


userId
(Terminator
3: Rise of
(Men in
63399 the 0.077496 0.232143 2.884.590 0.050631 1.197.518
Black II)
Machines,
Nostalgia)

(Sleepless
(Men in
56668 in Seattle, 0.073025 0.218750 2.822.716 0.047155 1.180.805
Black II)
Jarhead)

(The 39
(Men in
63406 Steps, 0.073025 0.218750 2.718.171 0.046160 1.176.990
Black II)
Nostalgia)

(Point
Break, The
(Men in
380667 Talented Mr. 0.073025 0.218750 2.718.171 0.046160 1.176.990
Black II)
Ripley,
Young a...

(Point
Break,
(Men in Terminator
1167105 0.073025 0.218750 2.718.171 0.046160 11.769
Black II) 3: Rise of
the
Machin...

IV.Kesimpulan
Sebelum menerapkan algoritma Apriori untuk mencari aturan asosiasi, terdapat serangkaian langkah yang
perlu dilakukan dalam pra-pemrosesan data. Langkah-langkah ini termasuk pembersihan data, dan pengurangan
data . diskritisasi juga menjadi salah satu yang penting jika terdapat variabel numerik dengan jumlah unik yang
sangat besar.

Banyak keuntungan yang didapat dengan menggunakan aturan asosiasi contohnya dapat digunakan dalam
menentukkan rekomendasi film sehingga kita dapat memberikan rekomendasi film yang relevan dan menarik,.
Dengan adanya rekomendasi yang tepat, pengguna merasa bahwa program ini memahami preferensi mereka dan
memberikan pengalaman pengguna yang lebih memuaskan

V.References

[1] Kusrini., Luthfi, E. T., 2009. Algoritma Data Mining, Andi Publisher, Yogyakarta.
[2] Turban, E., 2005, Decision Support Systems and Intelligent Systems Edisi Bahasa Indonesia.Andi
Publisher, Yogyakarta.
[3] Hermawati, F. A., 2013, Data Mining. Andi, Yogyakarta.
[4] Kusrini., 2007, Konsep dan Aplikasi Sistem Pendukung Keputusan, Andi Publisher, Yogyakarta.
[5] O’brien, J. A., Marakas, G. M., 2014, Sistem Informasi Manajemen, Salemba Empat, Jakarta
[6] Sunarti, F. Handayanna, dan E. Irfiani, “Analisa Pola Penjualan Makanan dengan Penerapan Algoritma
Apriori”, Vol. 20, No. 4, pp. 478-488, November. 2021.
[7] A.V. Putri, “Analisa Pola Belanja Konsumen Menggunakan Algoritma Apriori Pada Toko Buku Al-
Mumtaz”, juli. 2019.
[8] W. Dari, “Analisis Metode Apriori Untuk Memprediksi Persediaan Barang Pada Warung”, Vol. 1, No. 4,
pp. 438-447, Agustus. 2022. [3]Sunarti, F. Handayanna, dan E. Irfiani, “Analisa Pola Penjualan Makanan
dengan Penerapan Algoritma Apriori”, Vol. 20, No. 4, pp. 478-488, November. 2021.
[9] A.V. Putri, “Analisa Pola Belanja Konsumen Menggunakan Algoritma Apriori Pada Toko Buku Al-
Mumtaz”, juli. 2019.
[10] W. Dari, “Analisis Metode Apriori Untuk Memprediksi Persediaan Barang Pada Warung”, Vol. 1, No. 4,
pp. 438-447, Agustus. 2022.
[11] Sulistyo, B. E. (2013). "Data Mining: Konsep, Metode, dan Implementasi Menggunakan MATLAB."
Informatika.
[12] Larose, D. T. (2012). "Penambangan Data: Metode Menggunakan SQL Server dan RapidMiner."
Informatika.
[13] Setiawan, W., & Wijayanto, H. (2014). "Data Mining: Konsep dan Implementasinya dalam Keputusan
Bisnis." Andi Offset.
[14] Sinulingga, I. D., & Siregar, M. P. (2014). "Data Mining: Konsep dan Algoritma." Graha Ilmu.
[15] Budiarto, R. (2015). "Data Mining dengan R." Informatika.

Anda mungkin juga menyukai