Pengantar Pembelajaran Mesin dengan scikit-learn
Seri video ini akan mengajari Anda cara memecahkan masalah Machine Learning menggunakan pustaka scikit-learn Python yang populer. Ada 10 video tutorial berdurasi total 4,5 jam, masing-masing dengan notebook Jupyter yang sesuai.
Anda dapat menonton keseluruhan seri di YouTube dan melihat semua buku catatan menggunakan nbviewer.
Seri ini juga tersedia sebagai kursus online gratis yang mencakup konten terbaru, kuis, dan sertifikat kelulusan.
Catatan: Notebook di repositori ini telah diperbarui untuk menggunakan Python 3.9.1 dan scikit-learn 0.23.2. Buku catatan asli (ditunjukkan dalam video) menggunakan Python 2.7 dan scikit-learn 0.16, dan dapat diunduh dari cabang arsip. Anda dapat membaca tentang cara saya memperbarui kode di postingan blog ini.
Daftar isi
Apa itu Machine Learning dan bagaimana cara kerjanya? (video, buku catatan)
- Apa itu Pembelajaran Mesin?
- Apa dua kategori utama Pembelajaran Mesin?
- Apa saja contoh Pembelajaran Mesin?
- Bagaimana cara kerja Machine Learning?
Menyiapkan Python untuk Pembelajaran Mesin: scikit-learn dan Jupyter Notebook (video, notebook)
- Apa kelebihan dan kekurangan scikit-learn?
- Bagaimana cara menginstal scikit-learn?
- Bagaimana cara menggunakan Buku Catatan Jupyter?
- Apa sajakah sumber daya yang bagus untuk mempelajari Python?
Memulai scikit-learn dengan kumpulan data iris terkenal (video, buku catatan)
- Apa kumpulan data iris mata yang terkenal, dan apa hubungannya dengan Machine Learning?
- Bagaimana cara memuat kumpulan data iris ke scikit-learn?
- Bagaimana kami mendeskripsikan kumpulan data menggunakan terminologi Machine Learning?
- Apa empat persyaratan utama scikit-learn untuk bekerja dengan data?
Melatih model Machine Learning dengan scikit-learn (video, notebook)
- Apa model klasifikasi K-neighbours terdekat?
- Apa saja empat langkah pelatihan model dan prediksi dalam scikit-learn?
- Bagaimana cara menerapkan pola ini ke model Machine Learning lainnya?
Membandingkan model Machine Learning di scikit-learn (video, notebook)
- Bagaimana cara memilih model mana yang akan digunakan untuk tugas pembelajaran saya yang diawasi?
- Bagaimana cara memilih parameter penyetelan terbaik untuk model tersebut?
- Bagaimana cara memperkirakan kemungkinan performa model saya pada data di luar sampel?
Jalur ilmu data: pandas, seaborn, scikit-learn (video, buku catatan)
- Bagaimana cara menggunakan perpustakaan pandas untuk membaca data ke Python?
- Bagaimana cara menggunakan perpustakaan seaborn untuk memvisualisasikan data?
- Apa itu regresi linier dan bagaimana cara kerjanya?
- Bagaimana cara melatih dan menafsirkan model regresi linier di scikit-learn?
- Apa sajakah metrik evaluasi untuk masalah regresi?
- Bagaimana cara memilih fitur mana yang akan disertakan dalam model saya?
Validasi silang untuk penyetelan parameter, pemilihan model, dan pemilihan fitur (video, notebook)
- Apa kelemahan menggunakan prosedur pemisahan pelatihan/pengujian untuk evaluasi model?
- Bagaimana validasi silang K-fold mengatasi keterbatasan ini?
- Bagaimana validasi silang dapat digunakan untuk memilih parameter penyetelan, memilih model, dan memilih fitur?
- Apa saja kemungkinan perbaikan pada validasi silang?
Mencari parameter penyetelan optimal secara efisien (video, notebook)
- Bagaimana validasi silang K-fold dapat digunakan untuk mencari parameter penyetelan yang optimal?
- Bagaimana proses ini bisa dibuat lebih efisien?
- Bagaimana cara mencari beberapa parameter penyetelan sekaligus?
- Apa yang Anda lakukan dengan parameter penyetelan tersebut sebelum membuat prediksi sebenarnya?
- Bagaimana cara mengurangi biaya komputasi dari proses ini?
Mengevaluasi model klasifikasi (video, buku catatan)
- Apa tujuan evaluasi model, dan apa saja prosedur evaluasi yang umum?
- Apa kegunaan akurasi klasifikasi, dan apa batasannya?
- Bagaimana matriks konfusi menggambarkan kinerja pengklasifikasi?
- Metrik apa yang dapat dihitung dari matriks konfusi?
- Bagaimana Anda dapat menyesuaikan kinerja pengklasifikasi dengan mengubah ambang klasifikasi?
- Apa tujuan dari kurva ROC?
- Apa perbedaan Area Under the Curve (AUC) dengan akurasi klasifikasi?
Membangun alur kerja Machine Learning (video, notebook)
- Mengapa Anda harus menggunakan Pipeline?
- Bagaimana Anda menyandikan fitur kategorikal dengan OneHotEncoder?
- Bagaimana Anda menerapkan OneHotEncoder ke kolom yang dipilih dengan ColumnTransformer?
- Bagaimana Anda membuat dan memvalidasi silang Pipeline?
- Bagaimana cara membuat prediksi pada data baru menggunakan Pipeline?
- Mengapa Anda harus menggunakan scikit-learn (daripada panda) untuk prapemrosesan?
Video Bonusnya
Pada konferensi PyCon 2016, saya mengajarkan tutorial 3 jam yang dibuat berdasarkan seri video ini dan berfokus pada data berbasis teks . Anda dapat menonton video tutorialnya di YouTube.
Berikut adalah topik yang saya bahas:
- Pembuatan model di scikit-learn (penyegaran)
- Mewakili teks sebagai data numerik
- Membaca kumpulan data berbasis teks ke dalam panda
- Membuat vektorisasi kumpulan data kami
- Membangun dan mengevaluasi model
- Membandingkan model
- Memeriksa model untuk wawasan lebih lanjut
- Mempraktikkan alur kerja ini pada kumpulan data lain
- Menyetel vektorizer (diskusi)
Kunjungi repositori GitHub ini untuk mengakses buku catatan tutorial dan banyak sumber daya lain yang direkomendasikan.