Uas Data Mining [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

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 LloydForgy 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. 2. 3. 4. 5.



Ditemukannya beberapa model clustering yang berbeda Pemilihan jumlah cluster yang paling tepat Kegagalan untuk converge Outliers 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 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



titik centroid dari



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











IV.



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.



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 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 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%