Anda di halaman 1dari 14

UJIAN AKHIR SEMESTER

MATA KULIAH PENGGALIAN DATA DAN ANALITIKA BISNIS


RESUME MATERI PERTEMUAN 8 – 14

Disusun oleh :
Ahmad Fachrur Rozy 04218065

FAKULTAS ILMU KOMPUTER


UNIVERSITAS NAROTAMA
SURABAYA
2021
I. Data Mining With WEKA
Weka adalah Perangkat lunak pembelajaran
mesin/penambangan data yang ditulis dalam Java (didistribusikan
di bawah Lisensi Publik GNU). Digunakan untuk penelitian,
pendidikan, dan aplikasi.
WEKA merupakan sebuah perangkat lunak yang menerapkan
berbagai algoritma machine learning untuk melakukan beberapa
proses yang berkaitan dengan sistem temu kembali informasi atau data mining. Beberapa
fitur unggulan yang dimiliki oleh WEKA yaitu:
1. Classification
Di dalam WEKA terdapat banyak algoritma yang mendukung untuk proses klasifikasi
sebuah objek serta pengguna dimudahkan dalam melakukan implementasi secara
langsung. User dapat melakukan load dataset, melakukan pemilihan algoritma untuk
klasifikasi, kemudian diberikan beberapa representasi data yang mewakili hasil
akurasi, tingkat kesalahan dari proses klasifikasi.
2. Regression
Regression merupakan sebuah proses yang dapat melakukan suatu prediksi terhadap
berbagai pola yang sudah terbentuk sebelumnya yang dijadikan sebagai model data.
Tujuan dari regression adalah menciptakan suatu variabel baru yang mewakili suatu
representasi perkembangan data pada masa yang akan datang. WEKA mendukung
proses regression dan hal tersebut dipermudah dengan user interface/user
experience yang sederhana.
3. Clustering
Clustering merupakan salah satu cabang konsep dari unsupervised
method dari machine learning yang bertujuan untuk melakukan pengelompokan data
dan juga menjelaskan hubungan/relasi yang ada di antara data tersebut dan
memaksimalkan kesamaan antar satu kelas/cluster tetapi meminimumkan kesamaan
antar kelas/cluster. Clustering digunakan untuk analisa suatu data dan diharapkan
menghasilkan suatu representasi data yang mewakili suatu pola yang terbentuk akibat
relasi yang ada antar data.
4. Di dalam WEKA tersedia beberapa pendekatan algoritma untuk menangani
permasalahan clustering dan pada fitur ini juga terdapat bagian kesimpulan dari
proses clustering data yang memberikan secara garis besar perhitungan dan hasil
yang diberikan dalam implementasi algoritma clustering.
5. Association Rules
Association Rules merupakan metode yang digunakan untuk menemukan berbagai
relasi antara banyaknya variabel yang terdapat di dalam sebuah basis data dengan
jumlah yang besar.
6. Visualization
WEKA memiliki fitur untuk memberikan sebuah representasi data hasil sebuah
proses data mining dalam bentuk gambar atau chart yang juga dapat dilakukan
pemilihan berbagai parameter yang mendukung dalam membentuk representasi data
yang ada dalam aplikasi WEKA.
7. Data Preprocessing
WEKA menyediakan fitur dalam hal data preprocessing yaitu stemming dan stopword
removal. Proses stemming dan stopword removal yang ada di dalam perangkat
lunak WEKA berbasiskan Bahasa Inggris, sehingga untuk implementasi bahasa diluar
bahasa Inggris diharuskan untuk melakukan proses preprocessing data di luar
aplikasi WEKA. Beberapa algoritma stemming yang telah disediakan
oleh WEKA adalah Iterated Lovins Stemmer, Lovins Stemmer dan Snowball Stemmer.
Data yang digunakan pada Weka adalah dengan format ekstensi .arff. Anda bisa membuka
file dengan ekstensi ini dengan berbagai macam text editor, misalnya Notepad.

Contoh file berformat .arff adalah sebagai berikut:

II. Algoritma K-Means

K-means merupakan algoritma clustering. K-means Clustering adalah salah satu


“unsupervised machine learning algorithms” yang paling sederhana dan populer. K-Means
Clustering adalah suatu metode penganalisaan data atau metode Data Mining yang melakukan
proses pemodelan tanpa supervisi (unsupervised) dan merupakan salah satu metode yang
melakukan pengelompokan data dengan sistem partisi.

Algoritma K-Means adalah Metode clustering berbasis jarak yang membagi data kedalam
sejumlah cluster, metode ini hanya bekerja pada atribut numerik saja

Dengan kata lain, metode K-Means Clustering bertujuan untuk meminimalisasikan objective
function yang diset dalam proses clustering dengan cara meminimalkan variasi antar data yang
ada di dalam suatu cluster dan memaksimalkan variasi dengan data yang ada di cluster lainnya
juga bertujuan untuk menemukan grup dalam data, dengan jumlah grup yang diwakili oleh
variabel K. Variabel K sendiri adalah jumlah cluster yang diinginkan. Membagi data menjadi
beberapa kelompok. Algoritma ini menerima masukan berupa data tanpa label kelas. Hal ini
berbeda dengan supervised learning yang menerima masukan berupa vektor (x1 , y1) , (x2 , y2) ,
…, (xi , yi), di mana xi merupakan data dari suatu data pelatihan dan yi merupakan label kelas
untuk xi .
Pada algoritma pembelajaran ini, komputer mengelompokkan sendiri data-data yang menjadi
masukannya tanpa mengetahui terlebih dulu target kelasnya. Pembelajaran ini termasuk
dalam unsupervised learning. Masukan yang diterima adalah data atau objek dan k buah
kelompok (cluster) yang diinginkan. Algoritma ini akan mengelompokkan data atau objek ke
dalam k buah kelompok tersebut. Pada setiap cluster terdapat titik pusat (centroid) yang
merepresentasikan cluster tersebut.

K-means ditemukan oleh beberapa orang yaitu Lloyd (1957, 1982), Forgey (1965) ,
Friedman and Rubin (1967), and McQueen (1967). Ide dari clustering pertama kali ditemukan
oleh Lloyd pada tahun 1957, namun hal tersebut baru dipublikasi pada tahun 1982. Pada tahun
1965, Forgey juga mempublikasi teknik yang sama sehingga terkadang dikenal sebagai Lloyd-
Forgy pada beberapa sumber.

Terdapat dua jenis data clustering yang sering dipergunakan dalam proses pengelompokan data
yaitu Hierarchical dan Non-Hierarchical, dan K-Means merupakan salah satu metode
data clustering non-hierarchical atau Partitional Clustering. Data clustering menggunakan
metode K-Means Clustering ini secara umum dilakukan dengan algoritma dasar sebagai berikut:

1. Tentukan jumlah cluster


2. Alokasikan data ke dalam cluster secara random
3. Hitung centroid/rata-rata dari data yang ada di masing-masing cluster
4. Alokasikan masing-masing data ke centroid/rata-rata terdekat
5. Kembali ke Step 3, apabila masih ada data yang berpindah cluster atau apabila perubahan
nilai centroid, ada yang di atas nilai threshold yang ditentukan atau apabila perubahan nilai
pada objective function yang digunakan di atas nilai threshold yang ditentukan

Beberapa permasalahan yang sering muncul pada saat menggunakan metode K-Means untuk
melakukan pengelompokan data adalah:
1. Ditemukannya beberapa model clustering yang berbeda
2. Pemilihan jumlah cluster yang paling tepat
3. Kegagalan untuk converge
4. Outliers
5. Bentuk cluster

Overlapping
Menurut Daniel dan Eko, Langkah-langkah algoritma K-Means adalah sebagai berikut:
1. Pilih secara acak k buah data sebagai pusat cluster.
2. Jarak antara data dan pusat cluster dihitung menggunakan Euclidean Distance. Untuk
menghitung jarak semua data ke setiap titik pusat cluster dapat menggunakan teori
jarak Euclidean yang dirumuskan sebagai berikut: dimana: D (i,j) = Jarak data ke i ke pusat
cluster j Xki = Data ke i pada atribut data ke k Xkj = Titik pusat ke j pada atribut ke k
3. Data ditempatkan dalam cluster yang terdekat, dihitung dari tengah cluster.
4. Pusat cluster baru akan ditentukan bila semua data telah ditetapkan dalam cluster terdekat.
5. Proses penentuan pusat cluster dan penempatan data dalam cluster diulangi sampai nilai
centroid tidak berubah lagi.

Algoritma untuk melakukan K-Means clustering adalah sebagai berikut:


1. Pilih K buah titik centroid secara acak
2. Kelompokkan data sehingga terbentuk K buah cluster dengan titik centroid dari
setiap cluster merupakan titik centroid yang telah dipilih sebelumnya
3. Perbaharui nilai titik centroid
4. Ulangi langkah 2 dan 3 sampai nilai dari titik centroid tidak lagi berubah

Proses pengelompokkan data ke dalam suatu cluster dapat dilakukan dengan cara menghitung jarak
terdekat dari suatu data ke sebuah titik centroid.
Ada beberapa kelebihan pada algoritma k-means, yaitu:
1. Mudah untuk diimplementasikan dan dijalankan.
2. Waktu yang dibutuhkan untuk menjalankan pembelajaran ini relatif cepat.
3. Mudah untuk diadaptasi.
4. Umum digunakan.

Algoritma k-means memiliki beberapa kelebihan, namun ada kekurangannya juga. Kekurangan
dari algoritma tersebut yaitu :
1. Sebelum algoritma dijalankan, k buah titik diinisialisasi secara random sehingga
pengelompokkan data yang dihasilkan dapat berbeda-beda. Jika nilai random untuk
inisialisasi kurang baik, maka pengelompokkan yang dihasilkan pun menjadi kurang optimal.
2. Dapat terjebak dalam masalah yang disebut curse of dimensionality. Hal ini dapat terjadi jika
data pelatihan memiliki dimensi yang sangat tinggi (Contoh jika data pelatihan terdiri dari 2
atribut maka dimensinya adalah 2 dimensi. Namun jika ada 20 atribut, maka akan ada 20
dimensi). Salah satu cara kerja algoritma ini adalah mencari jarak terdekat antara k buah titik
dengan titik lainnya. Jika mencari jarak antar titik pada 2 dimensi, masih mudah dilakukan.
Namun bagaimana mencari jarak antar titik jika terdapat 20 dimensi. Hal ini akan menjadi
sulit.
3. Jika hanya terdapat beberapa titik sampel data, maka cukup mudah untuk menghitung dan
mencari titik terdekat dengan k titik yang diinisialisasi secara random. Namun jika terdapat
banyak sekali titik data (misalnya satu milyar buah data), maka perhitungan dan pencarian
titik terdekat akan membutuhkan waktu yang lama. Proses tersebut dapat dipercepat, namun
dibutuhkan struktur data yang lebih rumit seperti kD-Tree atau hashing.

III. Algoritma K-Nearest Neighbor (K-NN)


K- Nears Neighbor adalah sebuah metode klasifikasi terhadap sekumpulan data berdasarkan
pembelajaran data yang sudah terklasifikasikan sebelumya. Termasuk dalam supervised learning,
dimana hasil query instance yang baru diklasifikasikan berdasarkan mayoritas kedekatan jarak dari
kategori yang ada dalam K-NN.
Tahapan Langkah Algoritma K-NN
1. Menentukan parameter k (jumlah tetangga paling dekat).
2. Menghitung kuadrat jarak eucliden objek terhadap data training yang diberikan.
3. Mengurutkan hasil no 2 secara ascending (berurutan dari nilai tinggi ke rendah)
4. Mengumpulkan kategori Y (Klasifikasi nearest neighbor berdasarkan nilai k)
5. Dengan menggunakan kategori nearest neighbor yang paling mayoritas maka dapat
dipredisikan kategori objek.

Kelebihan menggunakan K-NN


• Sangat nonlinear
kNN merupakan salah satu algoritma (model) pembelajaran mesin yang bersifat
nonparametrik. Pembahasan mengenai model parametrik dan model nonparametrik bisa
menjadi artikel sendiri, namun secara singkat, definisi model nonparametrik adalah model
yang tidak mengasumsikan apa-apa mengenai distribusi instance di dalam dataset. Model
nonparametrik biasanya lebih sulit diinterpretasikan, namun salah satu kelebihannya adalah
garis keputusan kelas yang dihasilkan model tersebut bisa jadi sangat fleksibel dan nonlinear.

• Mudah dipahami dan diimplementasikan


Dari paparan yang diberikan dan penjelasan cara menghitung jarak dalam artikel ini, cukup
jelas bahwa algoritma kNN mudah dipahami dan juga mudah dimplementasikan. Untuk
mengklasifikasi instance x menggunakan kNN, kita cukup mendefinisikan fungsi untuk
menghitung jarak antar-instance, menghitung jarak x dengan semua instance lainnya
berdasarkan fungsi tersebut, dan menentukan kelas x sebagai kelas yang paling banyak
muncul dalam k instance terdekat.

Kekurangan menggunakan K-NN


• Perlu menunjukkan parameter K (jumlah tetangga terdekat)
• Tidak menangani nilai hilang (missing value) secara implisit
Jika terdapat nilai hilang pada satu atau lebih variabel dari suatu instance, perhitungan jarak
instance tersebut dengan instance lainnya menjadi tidak terdefinisi. Bagaimana coba,
menghitung jarak dalam ruang 3-dimensi jika salah satu dimensi hilang? Karenanya, sebelum
menerapkan kNN kerap dilakukan imputasi untuk mengisi nilai-nilai hilang yang ada pada
dataset. Contoh teknik imputasi yang paling umum adalah mengisi nilai hilang pada suatu
variabel dengan nilai rata-rata variabel tersebut (mean imputation).
• Sensitif terhadap data pencilan (outlier)
Seperti yang telah dijelaskan Ali pada artikel sebelumnya, kNN bisa jadi sangat fleksibel jika
k kecil. Fleksibilitas ini mengakibatkan kNN cenderung sensitif terhadap data pencilan,
khususnya pencilan yang terletak di “tengah-tengah” kelas yang berbeda. Lebih jelasnya,
perhatikan ilustrasi di bawah. Pada gambar kiri, seluruh instance bisa diklasifikasikan dengan
benar ke dalam kelas biru dan jingga. Tetapi, ketika ditambahkan instance biru di antara
instance jingga, beberapa instance jingga menjadi salah terklasifikasi.Perlu dipilih k yang
tepat untuk mengurangi dampak data pencilan dalam kNN.
• Rentan terhadap variabel yang non-informatif
Meskipun kita telah menstandardisasi rentang variabel, kNN tetap tidak dapat mengetahui
variabel mana yang signifikan dalam klasifikasi dan mana yang tidak.
• Rentan terhadap dimensionalitas yang tinggi
Berbagai permasalahan yang timbul dari tingginya dimensionalitas (baca: banyaknya
variabel) menimpa sebagian besar algoritma pembelajaran mesin, dan kNN adalah salah satu
algoritma yang paling rentan terhadap tingginya dimensionalitas. Hal ini karena semakin
banyak dimensi, ruang yang bisa ditempati instance semakin besar, sehingga semakin besar
pula kemungkinan bahwa nearest neighbour dari suatu instance sebetulnya sama sekali tidak
“near“.
• Rentan terhadap perbedaan rentang variable
Dalam perhitungan jarak antar-instance, kNN menganggap semua variabel setara atau sama
penting (lihat bagian penjumlahan pada rumus perhitungan jarak di atas). Jika terdapat
variabel p yang memiliki rentang jauh lebih besar dibanding variabel-variabel lainnya, maka
perhitungan jarak akan didominasi oleh p. Misalkan ada dua variabel, a dan b, dengan
rentang variabel a 0 sampai 1.000 dan rentang variabel b 0 sampai 10. Kuadrat selisih dua
nilai variabel b tidak akan lebih dari 100, sedangkan untuk variabel a kuadrat selisihnya bisa
mencapai 1.000.000. Hal ini bisa mengecoh kNN sehingga kNN menganggap a tidak
membawa pengaruh dalam perhitungan jarak karena rentangnya sangat besar dibanding
rentang b.Ilustrasinya diberikan di bawah ini. Manakah yang merupakan nearest neighbour
dari instance x? Jika dilihat dari “kacamata” komputer, nearest neighbour x bukanlah y,
melainkan z, Mengapa?
Untuk mengatasi perbedaan rentang, biasanya dilakukan preproses berupa standardisasi
rentang semua variabel sebelum menerapkan algoritma kNN. Contohnya yaitu
melalui operasi centre-scale atau operasi min-max.
• Nilai komputasi yang tinggi.
Untuk mengklasifikasi sebuah instance x, kNN harus menghitung jarak antara x dengan
semua instance lain dalam dataset yang kita miliki. Dengan kata lain, kompleksitas waktu
klasifikasi kNN berbanding lurus dengan jumlah instance latih. Jika dataset yang kita miliki
berukuran besar (terdiri dari banyak instance dan/atau banyak variabel), proses ini bisa jadi
sangat lambat. Bayangkan, jika kita punya 10.000 instance dengan masing-masing 20
variabel dan kita ingin mengklasifikasi 100 instance baru (instance uji), maka total operasi
yang harus dilakukan menjadi:(100 instance uji x 10.000 instance latih) x 20
variabel/instance x 2 operasi/variabel = 40 juta operasi Beberapa cara pengindexan (K-D
tree) dapat digunakan untuk mereduksi biaya komputasi.

IV. Algoritma Apriori


Algoritma apriori merupakan salah satu algoritma klasik data mining. Algoritma apriori
digunakan agar komputer dapat mempelajari aturan asosiasi, mencari pola hubungan antar satu
atau lebih item dalam suatu dataset.
Algoritma apriori banyak digunakan pada data transaksi atau biasa disebut market basket,
misalnya sebuah swalayan memiliki market basket, dengan adanya algoritma apriori, pemilik
swalayan dapat mengetahui pola pembelian seorang konsumen, jika seorang konsumen membeli
item A , B, punya kemungkinan 50% dia akan membeli item C, pola ini sangat signifikan dengan
adanya data transaksi selama ini.
Langkah atau Cara Kerja Apriori
1. Tentukan minimum support.
2. Iterasi 1 : hitung item-item dari support(transaksi yang memuat seluruh item) dengan men-
scan 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 frequent tinggi.
3. Iterasi 2 : untuk mendapatkan 2-itemset, harus dilakukan kombinasi dari k-itemset
sebelumnya, kemudian scan database lagi untuk hitung item-item yang memuat support.
itemset yang memenuhi minimum support akan dipilih sebagai pola frequent tinggi dari
kandidat.
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.

Market Basket Analysis


merupakan salah satu metode atau teknik yang sering digunakan dan paling bermanfaat untuk
lingkungan marketing. Tujuan dari Market Basket Analysis ini adalah untuk menentukan produk
manakah yang pelanggan beli dalam waktu bersamaan, dimana nama dari metode ini diambil dari
kebiasaan pelanggan menaruh barang mereka ke keranjang atau kedalam daftar belanja (market
basket).Dengan mengetahui produk manakah yang dibeli secara bersamaan akan dapat sangat
membantu pedagang ataupun perusahaan lainnya. Sebuah toko juga dapat menggunakan informasi
ini untuk menempatkan produk yang sering terjual secara bersamaan di dalam satu area atau
kategori, sementara sebuah katalog ataupun situse-commerce dapat menggunakannya untuk
menentukan layoutdari katalog mereka (Ngatimin, 2013).

Kelebihan dari proses market basket analysis sebagai berikut:


• Hasilnya jelas dan mudah dimengerti sebab hanya merupakan suatu pola “jika-maka”.
Misalnya: Jika produk A dan B dibeli secara bersamaan, maka kemungkinan produk C turut
dibeli.
• Market basket analysis sangat berguna untuk undirected data mining, yaitu pencarian awal
pola.
• Market basket analysis dapat memproses transaksi tanpa harus kehilangan informasi sebab
dapat memproses banyak variabel tanpa perlu dirangkum (summarization) terlebih dahulu.
• Proses komputasi yang lebih mudah daripada teknik yang kompleks seperti algoritma genetik
& sistem syaraf, meskipun jumlah perhitungan akan meningkat pesat bersamaan dengan
peningkatan jumlah transaksi dan jumlah items yang berbeda dalam analisis.

Kekurangan dari proses market basket analysis sebagai berikut:


• Tingkat pertumbuhan proses secara eksponensial sebagai akibat pertumbuhan ukuran data.
• Memiliki keterbatasan untuk atribut data, misalnya hanya berdasarkan tipe produk.
• Sulit untuk menentukan items yang akan diolah secara tepat, sebab frekuensi dari items
tersebut harus diusahakan seimbang.

V. Google Collabs
Google colab merupakan salah satu produk yang berbasis cloud. Meskipun demikian, Google
Colab dapat kita gunakan secara gratis. Google colab dibuat khusus untuk programmer atau
peneliti yang kesulitan untuk mendapatkan akses dengan spek tinggi. Jika kalian perhatikan,
Google Colab adalah coding environment bahasa pemrograman Python dengan format
“notebook” (mirip dengan Jupyter notebook), atau dengan kata lain ibaratnya Google
meminjamkan kita komputer secara gratis untuk membuat program atau melakukan pengolahan
data dari Google. Dalam hal ini, Google Colab juga menyediakan environment yang sangat open
source untuk belajar python. Sangat disarankan bagi kalian pemula di bidang data, peneliti pemula
maupun sahabat data yang akan berkarir dalam dunia data menggunakan Google Colab dengan
belajar Python.

Manfaat Google Colab

Google telah menyediakan berbagai fitur bagi penggunanya. Salah satunya adalah Google
Colab yang bisa digunakan dalam berbagai keperluan utamanya belajar Python. Adapun manfaat
Google Colab yaitu sesuai dengan namanya sendiri adalah Colaborate. Memang benar, Google
Colab dapat berkolaborasi dengan pengguna lainnya melalui berbagi coding secara online. Kita
bisa lebih mudah bereksperimen secara bersamaan, atau sekadar menggunakan fitur ini untuk
mempelajari codingan orang lain. Tentunya, sahabat data akan diuntungkan dengan format mirip
Jupyter Notebook karena lebih rapi. Google Colab juga terbilang sangat fleksibel. Kita dapat
dengan mudah menghubungkan Google Colab dengan jupyter notebook di komputer kita (local
runtime), menghubungkan dengan Google Drive, atau dengan Github.

Cara Menggunakan Google Colab

Seperti Aplikasi Google pada umumnya, yang kita butuhkan adalah akun Google dan silakan
ke https://colab.research.google.com/. Untuk membuat notebook baru, cukup klik New Python 3
Notebook (atau Python 2 tergantung apa yang akan digunakan) lalu kita akan dibawa ke halaman
yang mirip dengan Jupyter Notebook. Nantinya, setiap notebook yang kita buat akan disimpan di
Google Drive kita. Jika sahabat data familiar dengan aplikasi Jupyter Notebook, tentunya cara
penggunaannya pun hampir serupa. Fitur colab tidak hanya dapat menjalankan perintah pada
notebook saja tapi bisa juga menjalankan berkas yang berisikan kode Python (*.py) yang sudah
kita buat sebelumnya, untuk memanfaatkan fitur ini kita perlu menginstal OCaml Fuse yang
digunakan untuk import berkas Python, caranya jalankan perintah dibawah ini pada cell.
VI. Python For Data Mining
Python adalah scripting language yang berorientasi objek. Bahasa pemrograman ini dapat
digunakan untuk pengembangan perangkat lunak dan bisa dijalankan melalui berbagai sistem
operasi. Saat ini, Python juga merupakan bahasa yang populer bagi bidang data science dan
analisis. Hal ini dikarenakan oleh dukungan bahasa Python terhadap library – library yang
didalamnya menyediakan fungsi analisis data dan fungsi machine learning, data preprocessing
tools, serta visualisasi data. Secara umum, Python memiliki ciri-ciri sebagai berikut:
1. Banyak mendukung library
2. Bahasa yang relatif mudah dipahami
3. Memiliki aturan layout source code yang memudahkan pengecekan code
4. Bahasa yang interpreted karena code dieksekusi satu per satu dan melakukan debugging lebih
mudah dibandingkan dengan bahasa yang di-compile
5. Bahasa yang portable karena hanya code satu kali untuk menjalankan di platform lain
6. Bahasa yang open-source.

Berikut ini adalah beberapa alasan Python menjadi bahasa yang populer, khususnya dalam ranah
analisis data dan data science :
1. Ketersediaan akan open-source library, frameworks, tools untuk data mining, contohnya
adalah SciKit Learn, TensorFlow, Keras.
2. Relatif lebih mudah dipahami. Penulisan code di Python relatif lebih singkat dibandingkan
bahasa pemrograman yang
3. Multifungsi, tidak hanya untuk data processing, namun juga bisa untuk tugas lain seperti
membuat website dan tampilan GUI (Graphical User Interface).

Dalam membuat sebuah proyek data mining dengan Python, dapat menggunakan Anaconda,
dimana Anaconda telah menyediakan berbagai kelengkapan Python yang lebih dikhususkan untuk
kebutuhan analisis data. IDE (Integrated Development Enviroment) yang dapat digunakan antara
lain Jupyter Notebook dengan extension .ipynb yang sudah merupakan bawaan dari Anaconda
Navigator atau dengan text editor seperti Sublime, Notepad, Notepad++ dengan extension .py.
Berikut adalah contoh proses yang dilakukan oleh Python untuk proyek data mining sederhana:
1. Data mentah, dapat diimpor ke Python dengan menggunakan library Library ini mempunyai
fungsi untuk mengimpor data dengan format csv ke Python.
2. Eksplorasi data dan data preprocessing dapat dilakukan dengan lebih mudah, karena Python
telah memiliki fungsi untuk melihat persebaran data dan melakukan manipulasi data
untuk handle data yang tidak sesuai. Dalam kasus ini library yang berfungsi adalah sklearn
(Sci – kit learn) dan NumPy. Untuk visualisasi data, salah satu library yang terkenal adalah
Matplotlib, dimana dapat membuat visualisasi dari persebaran data termasuk plot dan chart.
3. Pembuatan model data mining dapat dilakukan dengan cepat dengan tersedianya fitur –
fitur machine learning yang cukup lengkap dari Sci – kit learn. Setelah memilih metode yang
diinginkan, dapat langsung menggunakan fungsi didalam library yang Contoh metode yang
tersedia adalah neural network, decision tree, SVM, random forest, regression tree, logistic
regression. Tidak hanya Sci – kit learn, ada beberapa library lain yang dapat digunakan seperti
Keras, TensorFlow. Pembagian data testing dan training juga dapat dilakukan
dengan library mengikuti metode yang tersedia. Contohnya adalah cross – validation.
4. Evaluasi model yang telah dibuat, seperti menghitung akurasi, spesifisitas, sensitivitas, presisi,
error rate dapat ditampilkan dengan mudah dengan menggunakan fungsi classification_score
yang tersedia pada Sci – kit learn. Hanya dengan satu baris, seluruh komponen evaluasi akan
ditampilkan. Tidak hanya itu, fungsi pada Sci-kit learn juga dapat menampilkan confusion
matrix yang berisi nilai prediksi dan aktual yang dilakukan dari data testing.
5. Merepresentasikan hasil dari model dapat divisualisasikan dalam bentuk plot ataupun hasil
dalam bentuk web. Ketika permintaan penampilan hasil dalam bentuk web, maka hasil dari
model dapat disinkronkan karena Python juga mendukung untuk pembuatan web. Selain itu,
untuk menampilkan model, dapat menggunakan library – library lain, contohnya adalah
graphviz untuk menampilkan decision tree.

VII. Studi Kasus

Contoh Studi kasus Menggunakan Algorithma Aprioi

Golden rule (threshold) yang digunakan adalah : 60% atau barang yang dibeli paling sedikit 3.

Untuk mempermudah, nama-nama item di Tabel 1, disingkat dengan diambil huruf awalnya saja, sebagai
contoh :
M = Mango
O = Onion
Dan sebagainya.
Langkah ke-1 : Hitung banyaknya transaksi untuk setiap item. Hati-hati, untuk item O (Onion) dibeli
sebanyak 4 biji, namun pembelian O hanya ada 3 transaksi.

Langkah ke-2 : Berdasarkan golden rule yang telah disebutkan di atas, saring data pada Tabel 3, hanya
memilih item yang memiliki transaksi minimal sebanyak 3 transaksi. Item yang banyaknya transaksi kurang
dari 3, dibuang. Hasilnya dapat dilihat di Tabel di bawah.

Langkah ke-3 : Buat pasangan item dimulai dari item pertama, yaitu MO, MK, ME, MY. Kemudian
dilanjutkan dengan item kedua. Misalnya OK, OE, OY. Perhatikan, OM tidak dibuat karena OM = MO
(pasangan yang dibuat dari item pertama).

Langkah ke-4 : Hitung berapa kali suatu pasangan item dibeli bersamaan. Contohnya pasangan MO dibeli
secara bersamaan dalam itemset {M, O, N, K, E, Y}. Pasangan MK dibeli bersamaan sebanyak 3 kali yaitu
di dalam {M,O,N,K,E,Y}, {M,A,K,E}, dan {M,U,C, K, Y}. Hasilnya dapat dilihat pada Tabel 6.
Langkah ke-5 : Gunakan golden rule, hapus semua pasangan item yang banyaknya transaksi kurang dari
tiga. Hasilnya adalah pada Tabel 7.

Langkah ke-6 : Buat pasangan tiga item dengan aturan menggunakan pasangan item pada Tabel ke 7 yang
memiliki huruf awal yang sama yaitu :
• OK dan OE, menjadi OKE
• KE dan KY, menjadi KEY
Kemudian hitung ada beberapa banyaknya transaksi dari pasangan tiga item berdasarkan Tabel ke 3.
Hasilnya dapat dilihat pada Tabel di bawah.

Dalam langkah ini, misalkan ada tiga pasangan item ABC, ABD, ACD, ACE, BCD dan akan dibuatkan
pasangan 4 item, carilah 2 huruf awal yang sama. Contoh :

• ABC dan ABD, menjadi ABCD


• ACD dan ACE, menjadi ACDE
Dan seterusnya. Secara umum, carilah pasangan item yang huruf (item) terakhirnya berbeda.

Langkah ke-7 : Gunakan lagi golden rule, dengan membuang pasangan tiga item yang banyaknya transaksi
kurang dari 3. Hasilnya tinggal OKE karena KEY hanya dibeli bersamaan dua kali.

Kesimpulan : Tiga item yang sering dibeli bersamaan adalah O, K, dan E.

Untuk mengetahui tingkat keyakinan (confidence), frequent itemset (yaitu {O, K, E}) dapat digunakan
untuk mencari aturan-aturan asosiasi antar item di dalam frequent itemset tersebut. Caranya adalah :
1. Itemset dibuatkan himpunan bagiannya. Hasilnya seperti pada contoh di bawah :
• {O}
• {K}
• {E}
• {O, K}
• {K, E}
• {O, E}

2. Cari asosiasi pada semua himpunan bagian yang telah dibuat, misal : {O} => {K, E} artinya : jika O
dibeli, bagaimana kemungkinan K dan E akan dibeli pada transaksi yang sama. O dibeli pada 3 transaksi
dan di dalam 3 transaksi tersebut, K dan E juga dibeli. Maka keyakinannya adalah :

{O} => {K, E} : keyakinannya adalah 3/3 x 100% = 100%.


{K} => {O,E} : keyakinannya adalah 3/5 x 100% = 60%
{E} => {O,K} : keyakinannya adalah 3/4 x 100% = 75%
{K,E} => {O} : keyakinannya adalah 3/3 x 100% = 100%
{O,E} => {K} : keyakinannya adalah 3/3 x 100% = 100%
{O,K} => {E} : keyakinannya adalah 3/4 x 100% = 100%

Anda mungkin juga menyukai