Skip to content

Data Mining

Pendahuluan

Ada baiknya untuk sedikit mengulas materi aljabar linear, kalkulus, dan statistika Anda sebelum memulai kuliah ini. Silakan lihat crib sheet yang disediakan oleh Iain Murray. Untuk pemahaman lebih lanjut, Anda juga bisa melihat materi probabilitas untuk ilmu komputer yang sangat menarik di kuliah Stanford: CS109.

Referensi

Kuliah ini banyak mengadaptasi materi dari Introductory Applied Machine Learning dari the University of Edinburgh.

Karena kuliah ini akan menggunakan Python sebagai bahasa pengantarnya, silakan cek tutorial singkat untuk Python dan Numpy. Anda juga akan menggunakan Jupyter notebook ke depannya. Silakan lihat petunjuk instalasinya di sini.

Anda dapat membuat clone dari repositori mata kuliah ini di sini.

Konsep Data Mining

Salindia minggu ke-1: Pendahuluan

Apa yang menjadi hubungan antara data mining dengan big data? Apa saja yang menjadi bagian dari data mining? Pertanyaan seperti ini mungkin sering muncul dalam kehidupan kita sehari-hari. Kuliah ini membahas betapa dekatnya data dengan kehidupan kita sehari-hari dan bagaimana proses pencarian pola dalam data tersebut dapat menjadi hal yang sangat menyenangkan untuk dilakukan.

Salindia minggu ke-2: Tipe dan Jenis Data

Apakah ada hubungannya antara kebiasaan menambahkan kecap dan kacang pada preferensi untuk mengaduk bubur ayam? Lalu, bagaimana gambar dapat direpresentasikan sebagai data yang dapat diolah oleh algoritma machine learning? Materi di minggu ini membahas tipe dan jenis data serta bagaimana merepresentasikannya. Kasus-kasus seperti imbalanced dataset juga akan menjadi poin penting dari kuliah ini.

Eksplorasi Data

Salindia minggu ke-3: Jarak Antardata dan Eksplorasi Data

Praktikum 1: Eksplorasi dan Visualisasi

Visualisasikan data Anda! Visualisasi data dapat membantu dalam memahami tren dan pola-pola menarik dari data Anda. Anda mungkin perlu melihat salindia ini untuk membantu merancang tabel dan grafik dengan lebih baik. Materi kali ini juga dilengkapi dengan praktikum yang diharapkan dapat memberikan gambaran tentang penggunaan konsep-konsep yang disampaikan di minggu ini.

Rumus Minkowski distance saat r (atau dalam rumus di bawah ini p) mendekati tak hingga adalah selisih antara dua titik terjauh dalam bidang cartesian. Perhitungan jarak ini juga dikenal dengan nama Chebyshev distance. Dengan kata lain, rumusnya menjadi:

Chebyshev distance

Intuisi yang lebih baik untuk Mahalanobis distance bisa dibaca di sini. Penjelasan tersebut memberikan gambaran bahwa Mahalanobis distance bekerja seperti Euclidean distance, tetapi sumbu-sumbunya disusun berdasarkan sebaran dari datanya. Kita akan mencari arah sumbu baru beserta panjangnya. Dalam kuliah reduksi dimensi nanti, kita akan melihat hubungan Mahalanobis distance dengan Principal Component Analysis.

Tugas 1

Notebook Tugas 1

Dataset Tugas 1

Dalam tugas ini, Anda diminta untuk melakukan eksplorasi, analisis, dan visualisasi terhadap dataset yang berisi film dari IMDB. Anda akan mencari tahu hal-hal yang berkaitan dengan kesuksesan sebuah film. Berdasarkan perhitungan similarity, Anda akan diminta juga melakukan klasifikasi sederhana terhadap data baru yang diberikan. Tugas ini dikumpulkan melalui situs e-learning UAI.

Klasifikasi

Salindia minggu ke-4: Klasifikasi: Naive Bayes

Latihan 1: Naive Bayes

Praktikum 2: Klasifikasi

Salah satu metode klasifikasi yang cukup sederhana tetapi berfungsi dengan cukup baik pada praktiknya adalah Naive Bayes. Metode ini tidak memerlukan hyperparameter tuning seperti banyak metode klasifikasi yang lebih kompleks lainnya. Idenya pun didasari pada asumsi naif bahwa setiap atribut conditionally independent jika diberikan kelasnya. Namun, asumsi ini ternyata bisa jadi efektif, seperti yang diteliti dalam makalah ini.

Asumsi lain yang digunakan dalam algoritma ini adalah distribusi Gaussian yang dipakai untuk data yang kontinu. Untuk menyegarkan kembali ingatan Anda tentang materi distribusi Gaussian, Anda bisa melihat tulisan Iain Murray (2016). Selain itu, sangat disarankan untuk melihat video dari Stats 110 dari Harvard University untuk membantu pemahaman Anda tentang probabilitas dan peubah acak. Beberapa orang juga menyarankan untuk membaca ulasan materi probabilitas dan statistika dari buku Deep Learning (Goodfellow et al., 2016). Materinya bisa Anda akses di sini.

Berikut ini adalah video oleh Victor Lavrenko yang dapat Anda gunakan untuk membantu pemahaman Anda terhadap materi Naive Bayes.

Salindia minggu ke-5: Klasifikasi: Decision Trees

Pohon keputusan merupakan algoritma klasifikasi yang memudahkan pengguna untuk memahami jalannya proses klasifikasi suatu data. Bagi end-user, tidak perlu pemahaman statistika yang mendalam untuk tahu apa yang terjadi. Di sisi lain, algoritma ini bisa jadi cukup efektif. Terbukti, pengembangan algoritma ini, yaitu XGBoost dan Random Forest, sering dipakai di berbagai kompetisi dan makalah data mining. Materi minggu ini membahas tentang bagaimana kita bisa membentuk pohon keputusan untuk melakukan klasifikasi, termasuk bagaimana kita dapat mengevaluasi hasil klasifikasi tersebut.

Tugas 2

Notebook Tugas 2

Dataset Tugas 2

Dalam tugas ini, Anda diminta untuk melakukan klasifikasi dengan menggunakan algoritma Naive Bayes dan Decision Trees. Anda diminta menjelaskan dan mengimplementasikan beberapa komponen dari kedua jenis algoritma tersebut. Silakan merujuk ke materi praktikum 2 untuk mencari beberapa referensi kode yang dapat digunakan. Tugas ini dikumpulkan melalui situs e-learning UAI.

Evaluasi Model

Salindia minggu ke-6: Evaluasi Model

Kapan akurasi tidak cukup lagi untuk dijadikan satu-satunya metrics? Bagaimana pula cara untuk menghasilkan model yang optimal? Kita akan mengeksplorasi penggunaan metrics lain yang dapat dihitung dari confusion matrix. Selain itu, akan dikenalkan juga ROC curves serta AUC yang biasa digunakan pada kasus imbalanced dataset.

Tips

Paper dari Pedro Domingos ini bisa menjadi awal yang baik bagi Anda untuk mempelajari tentang evaluasi algoritma machine learning secara umum.

Ulasan Materi

Salindia minggu ke-7: Ulasan Materi

Minggu ini ada sedikit materi tambahan. Silakan cek kembali materi praktikum 2 untuk tambahan tentang klasifikasi dengan pohon keputusan. Kelas akan digunakan untuk mengulas materi yang telah lalu dan menyampaikan beberapa pengumuman terkait ujian dan tugas.

Model Linear

Salindia minggu ke-8: Model Linear

Praktikum 3: Model Linear

Setelah berkutat dengan beberapa algoritma klasifikasi, materi minggu ini berisikan salah satu tugas dalam machine learning yang lain: regresi. Anda akan dikenalkan dengan regresi linear sederhana dan beberapa pengembangannya. Selain itu, Anda juga akan melihat bagaimana ide regresi linear kemudian bisa diubah untuk kebutuhan klasifikasi. Dalam materi minggu ini, Anda akan melihat dengan lebih jelas perbedaan model generatif dan diskriminatif.

Tugas 3

Notebook Tugas 3

Dalam tugas ini, Anda diminta untuk melakukan inferensi dengan regresi linear terhadap data diabetes. Terdapat beberapa pertanyaan konseptual juga yang harus Anda jawab dalam tugas ini untuk menguji pemahaman Anda.

Model Berdasarkan Perhitungan Jarak

Salindia minggu ke-9: k-Nearest Neighbours & k-Means Clustering

Praktikum 4: k-Nearest Neighbours & k-Means

Tidak ada hubungan yang khusus antara kedua algoritma yang dikenalkan minggu ini, kecuali keduanya didasarkan pada perhitungan jarak antarobjek. k-NN merupakan algoritma yang bisa digunakan untuk klasifikasi dan juga regresi (supervised learning), semenara k-Means merupakan algoritma untuk clustering (unsupervised learning). Akan ada beberapa algoritma clustering lain yang akan dikenalakan di materi selanjutnya setelah k-Means.

Clustering

Salindia minggu ke-10: Gaussian Mixture Models & Hierarchical Clustering

Praktikum 5: Gaussian Mixture Models

Materi minggu ini merupakan pengembangan dari algoritma k-Means. Dengan menggunakan pendekatan parametrik, kita bisa menghasilkan clustering dengan model generatif. Lihat kembali tentang materi distribusi Gaussian untuk memahami dengan lebih baik materi minggu ini. Selain itu, kita juga akan melihat bahwa alih-alih menentukan nilai K dari awal, kita bisa membuat level granularity dari klaster yang dihasilkan dengan membuat hierarki.

Tugas 4

Notebook Tugas 4

Dataset Tugas 4

Dalam tugas ini, Anda diminta untuk melakukan klasifikasi dengan algoritma yang berdasarkan pada perhitungan jarak. Anda juga akan mengeksplorasi pemanfaatan algoritma clustering untuk melakukan klasifikasi.

Reduksi Dimensi

Salindia minggu ke-11: Dimensionality Reduction

Praktikum 6: Dimensionality Reduction

Dimensionality reduction merupakan bagian dari unsupervised learning yang biasanya digunakan untuk bermacam hal, misalnya membantu visualisasi, mempercepat proses klasifikasi, hingga noise filtering. Minggu ini, kita akan membahas salah satu algoritma yang umum digunakan untuk reduksi dimensi, yaitu Principal Component Analysis (PCA).

Analisis Keranjang Belanja

Materi minggu ke-12 akan diisi oleh Ir. Endang Ripmiatin, M.T.

Sistem Rekomendasi

Salindia minggu ke-13: Sistem Rekomendasi

Materi ini dapat dianggap sebagai salah satu implementasi dari semua materi yang telah diberikan sebelumnya. Kita akan mengulas kembali konsep jarak antarobjek, klasifikasi, clustering, dan reduksi dimensi dalam membuat sistem rekomendasi. Materi ini sekaligus jadi materi terakhir dalam kuliah ini. Silakan baca lebih lanjut di buku Mining of Massive Datasets pada Chapter 9 untuk tahu detailnya.

Tugas 5

Notebook Tugas 5

Dataset Tugas 5: User-Artist

Anda diminta untuk membangun dan membandingkan beberapa metode sistem rekomendasi.