0% menganggap dokumen ini bermanfaat (0 suara)
55 tayangan

1 Introduction To Machine Learning With Python

Dokumen ini membahas tentang pembelajaran mesin dengan bahasa pemrograman Python. Dokumen ini menjelaskan konsep dasar pembelajaran mesin, jenis-jenis pembelajaran mesin, proses pelatihan dan evaluasi model. Dokumen ini juga mendemonstrasikan penggunaan Google Colab dan Jupyter Notebook untuk praktek pembelajaran mesin.

Diunggah oleh

Fernando Putra
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
55 tayangan

1 Introduction To Machine Learning With Python

Dokumen ini membahas tentang pembelajaran mesin dengan bahasa pemrograman Python. Dokumen ini menjelaskan konsep dasar pembelajaran mesin, jenis-jenis pembelajaran mesin, proses pelatihan dan evaluasi model. Dokumen ini juga mendemonstrasikan penggunaan Google Colab dan Jupyter Notebook untuk praktek pembelajaran mesin.

Diunggah oleh

Fernando Putra
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 17

Judul: Introduction to Machine Learning with Python

Penyusun: Aloysius Gonzaga Pradnya Sidhawara, Hagai Suranta Perangin-angin

Versi: Agustus 2023

Daftar Isi
Kemampuan Akhir yang Direncanakan ......................................................................................................... 2
Pembelajaran Mesin ...................................................................................................................................... 2
Pendahuluan .............................................................................................................................................. 2
Definisi ....................................................................................................................................................... 2
Jenis Pembelajaran Mesin ......................................................................................................................... 2
Apa itu Dataset? ........................................................................................................................................ 2
Proses Pelatihan Model ............................................................................................................................. 3
Proses Evaluasi Model ............................................................................................................................... 3
Pengenalan Python ........................................................................................................................................ 4
Google Colaboratory .................................................................................................................................. 4
Jupyter Notebook ...................................................................................................................................... 5
Sintaks Dasar Python ................................................................................................................................. 5
Latihan .........................................................................................................................................................11
Deskripsi Singkat Dataset ........................................................................................................................11
Langkah Pembuatan Model Algoritme ....................................................................................................11
Tugas ............................................................................................................................................................15

1
Kemampuan Akhir yang Direncanakan
Mahasiswa mampu menguasai konsep dasar pembelajaran mesin dan merancang solusi permasalahan
untuk studi kasus tertentu.

Pembelajaran Mesin
Pendahuluan
• Kita hidup di era di mana data sangat berlimpah.
• Algoritme pembelajaran mesin dapat mengubah data menjadi pengetahuan.
• Pembelajaran mesin menawarkan alternatif yang efisien untuk menangkap pengetahuan
dalam data.
• Pembelajaran mesin meningkatkan kinerja model prediktif secara bertahap.
Pembelajaran mesin membuat keputusan berdasarkan data.

Definisi
• Pembelajaran Mesin atau Machine Learning adalah bagian dari bidang ilmu Kecerdasan
Buatan atau Artificial Intelligence.
• Pembelajaran Mesin melakukan ekstraksi pengetahuan dari data dan memerlukan
keilmuan statistik, kecerdasan buatan, dan ilmu komputer.
• Dalam bidang Pembelajaran Mesin, kita membuat komputer dapat belajar tanpa secara
eksplisit diprogram.
• Komputer belajar menggunakan model Pembelajaran Mesin. Model Pembelajaran Mesin
pada dasarnya adalah fungsi – fungsi matematika dan logika.

Jenis Pembelajaran Mesin


• Supervised learning : model mempelajari data latih yang memiliki label. Output: prediksi
label dari data. Contoh aplikasi: prediksi tumor jinak atau ganas menggunakan dataset
yang sudah dilabeli [1].
• Unsupervised learning : model mempelajari pola pada data latih yang tidak memiliki
label. Output: pengelompokan dari data. Lebih banyak digunakan untuk pengurangan
dimensi dataset. Contoh aplikasi: klasterisasi dokumen berdasarkan konten pada teks.
• Reinforcement learning : model belajar berdasarkan masukan atau timbal balik. Contoh
aplikasi: komputer mempelajari permainan catur dengan beberapa pertandingan

Apa itu Dataset?


• Model pembelajaran mesin mempelajari informasi dari dataset.
• Dataset yang sederhana berbentuk tabel dengan baris dan kolom.
• Baris adalah sampel atau entitas, kolom adalah fitur atau ciri-ciri.
• Label atau kelas atau target adalah jenis dari entitas.
• Contoh dataset bunga Iris. Baris atau entitas adalah bunga Iris yang dicatat ciri-cirinya.
Kolom atau fitur adalah hasil pengukuran kelopak dan mahkota bunga yang dicatat

2
sebagai ciri-ciri pembeda antar spesies bunga Iris. Label atau target adalah spesies atau
jenis dari bunga Iris tersebut.

Proses Pelatihan Model

Gambar 1 Ilustrasi proses dalam Pembelajaran Mesin

• Gambar 1 menunjukkan proses pelatihan model pembelajaran mesin dan menguji hasil
pembelajarannya dengan meminta model melakukan prediksi.
• Sebagian dari dataset utuh digunakan sebagai train set (biasanya 70-75%), sisanya sebagai
test set (30-25%).
• Proses pembagian dataset disebut train-test split dan penting untuk persiapan
pembelajaran model.
• Untuk kasus klasifikasi, data dan target dipisahkan sebelum train-test split.
• Train set disebut sebagai X_train, label train disebut sebagai y_train, test set disebut
sebagai X_test, dan label test disebut sebagai y_test. (lihat Gambar 2)

Gambar 2. Ilustrasi proses pembagian dataset untuk training dan testing

Proses Evaluasi Model


• Proses evaluasi model pembelajaran mesin dilakukan setelah proses training.
• Proses evaluasi dapat menggunakan metrik paling umum yang disebut akurasi.

3
• Akurasi mengukur tingkat kesesuaian antara prediksi dan label asli.
• Prediksi dilakukan oleh model pembelajaran mesin terhadap data yang belum diketahui
labelnya (X_test).
• Label asli dari data tersebut adalah y_test.

Pengenalan Python
• Python telah menjadi bahasa pemrograman yang digunakan untuk aplikasi ilmu data
dan pembelajaran mesin.
• Python menggabungkan kelebihan bahasa pemrograman yang general-purposed dengan
kemudahan penggunaan skrip khusus domain pengolahan data seperti MATLAB atau R.
• Library yang dimiliki Python telah mencakup pengolahan data, visualisasi, statistik,
pemrosesan teks, pemrosesan gambar, dan lain sebagainya.
• Kita dapat berinteraksi langsung dengan code baik menggunakan terminal atau IDE
seperti Jupyter Notebook ataupun Google Colaboratory.

Google Colaboratory
• Kita akan mengunakan bahasa pemrograman Python dan Google Colaboratory sebagai
tools pengolahan data. Untuk mengakses Google Colab silahkan mengakses tautan:
https://colab.research.google.com/

Gambar 3. Tampilan awal Google Colaboratory

• Secara otomatis jika Anda sudah login menggunakan akun Google Drive, maka notebook
secara otomatis akan tersimpan di Drive milik Anda. Langkah pertama yang dapat anda
lakukan adalah klik File-> New Notebook untuk membuat notebook baru.
• Pada Google Colab untuk menghubungkan notebook agar bisa berjalan, silahkan klik
Connect yang ada di sebelah kanan atas. Kita juga dapat menjalankan masing-masing
cell code pada ikon Run di sebelah kiri cell, atau jika ingin menjalankan seluruh cell yang
sudah dibuat kita mengakses Runtime > Run All.

4
Jupyter Notebook
• Untuk mengerjakan secara offline, kita dapat mengunduh Python beserta environment
Anaconda dengan tautan: https://www.anaconda.com/products/individual
• Setelah mengunduh Anaconda, silahkan melakukan instalasi mengikuti instruksi yang
berjalan. Kemudian untuk membuka Jupyter Notebook, silahkan membuka Anaconda
Prompt dan ketik command Jupyter Notebook.

Gambar 4. Tampilan Anaconda Prompt untuk mengakses Jupyter Notebook

• Tunggu hingga proses loading selesai dan Jupyter Notebook akan tampil pada browser
yang terinstal pada perangkat (antara Firefox atau Chrome).

Gambar 5. Tampilan awal Jupyter Notebook

• Kita memerlukan beberapa package library dalam praktek nantinya, buka satu windows
Anaconda Prompt lagi dan ketik command: pip install numpy scipy matplotlib ipython
scikit-learn pandas
• Tunggu hingga instalasi selesai dan jika sudah, silahkan beralih kembali ke browser yang
memuat Jupyter Notebook, kemudian klik New > Python 3 untuk membuat notebook
baru.
Sintaks Dasar Python
• Print digunakan untuk menampilkan pesan, maka pada notebook yang sudah dibuat
sebelumnya, ketikkan sesuai yang tertampil pada contoh. Comment pada Python
menggunakan tanda pagar (#), baris yang diberikan comment tidak akan tereksekusi.

5
• Tipe data String pada Python dapat kita assign dengan tanda petik tunggal (‘) atau ganda
(“).

• Tipe data Numbers pada Python dapat kita assign langsung ke dalam variabel.

6
• List pada Python dapat dibuat menggunakan simbol [ ] seperti array.

• Tuple adalah baris data yang dapat menyimpan berbagai tipe variabel. Perbedaan Tuple
dengan list adalah ukuran dan isi tuple tidak bisa berubah. Tuple dibuat dengan simbol
kurung ( ).

• Dictionary pada Python adalah struktur data yang menyerupai tabel dan terdiri atas key
dan value. Dictionary dibuat dengan simbol kurung kurawal {}.

• Tipe data boolean dapat diakses untuk melihat luaran hasil operasi logika.

7
• Pemilihan atau selection pada Python kurang lebih sama dengan bahasa pemrograman
yang lain, hanya saja yang membedakan adalah tidak ada penggunakan kurung kurawal.
Statemen yang berjalan pada pemilihan dibedakan dengan identasi 1 tab. Untuk sintaks
yang digunakan adalah if, else, dan elif (else if) yang diikuti dengan titik dua untuk
membuka sintaks.

• Perulangan pada Python menggunakan for dan while. Untuk loop for menggunakan
sintaks: for var in statement

8
• Perulangan while menggunakan sintaks: while(statement)

• Pembuatan fungsi dan modul/prosedur, keduanya menggunakan sintaks: def


name_func_or_module(params):

9
• Perbedaannya adalah function menggunakan sintaks return untuk mengembalikan nilai,
sedangkan module/prosedur tidak.

10
Latihan
Deskripsi Singkat Dataset
• Kita akan menggunakan dataset yang ada pada library scikit-learn yaitu wine recognition
dataset.
• Dataset ini adalah salinan UCI ML Wine recognition datasets.
(https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data).
• Dataset ini merupakan hasil analisis kimiawi dari wine yang diproduksi pada suatu region
yang sama di Itali oleh tiga pengusaha berbeda. Terdapat 13 pengukuran yang berbeda
untuk membedakan tiga jenis wine.

Langkah Pembuatan Model Algoritme


• Muat dataset ke dalam Notebook. Dataset dimuat dalam satu variabel. Kita memasukan
dataset yang ada ke dalam DataFrame dengan cara sebagai berikut:


• Kita juga dapat melakukan pengecekan pada data apabila ada data yang bernilai null,
kosong, atau NaN dengan cara seperti berikut:

• Langkah berikutnya adalah exploratory data analysis atau analisis eksploratif data.
Eksplorasi data secara statistik dapat kita lakukan dengan membuat representasi dalam
bentuk grafik seperti berikut:

11

• Dataset dapat kita deskripsikan secara statistik menggunakan fungsi describe() dan
menghasilkan luaran seperti berikut:


• Pembagian dataset menjadi data training dan data testing adalah langkah penting
sebelum membuat model. Variabel dataset dipisah menggunakan fungsi train test split
menjadi X_train dan X_test. Label juga dipisah menjadi y_train dan y_test.
• Data training atau train set digunakan untuk melatih algoritme pembelajaran mesin
dengan ciri-ciri data.
• Data testing atau test set digunakan untuk menguji kinerja model pembelajaran mesin
dengan data baru.
• Rasio antara data training dan data testing biasanya 70%:30% atau 75%:25%.

12

• Algoritme machine learning dilatih dengan training set dan parameter. Parameter
disesuaikan dengan algoritme yang dipilih. Berikut adalah contoh code:


• Model yang terbentuk diuji dengan test set dan prediksi. Prediksi dapat dilakukan dengan
data baru yang belum diketahui labelnya.
• Data baru harus memiliki 13 feature seperti dataset wine. Misalkan kita menginputkan
nilainya dengan ketentuan sebagai berikut:
NPM : AA BB CCDDE (Ex: 20 07 12345)

1. Alcohol : AA
2. Malic acid : B.B
3. Ash : C.C

13
4. Alkalinity : DD
5. Magnesium : DDE
6. Total phenols : A.AB

7. Flavanoids : A.AB
8. Nonflavanoid phenols : A.AB
9. Proanthocyanins : A.AB
10. Color intensity : B.CC

11. Hue : B.CC


12. od280/od315 of diluted wines : B.CC
13. proline: CCDD

• Berikut adalah contoh code:

• Hasil prediksi tunggal seperti contoh sebelumnya belum bisa menentukan akurasi atau
performa ketepatan model dalam memprediksi label suatu data.
• Evaluasi dapat kita lakukan menggunakan test set yang sudah kita simpan tadi.
• Berikut adalah contoh code:

14

Tugas
Dalam sebuah rapat di Komunitas Peduli Diabetes Kota Ayodya, pengurus komuntas sedang
mencari cara untuk meningkatkan deteksi dini diabetes pada anggota keluarga komunitas
mereka. Mereka mengetahui bahwa diabetes adalah salah satu penyakit kronis paling umum dan
memiliki dampak signifikan terhadap kualitas hidup. Tim medis pendamping komunitas ingin
menggunakan machine learning untuk membantu mereka memprediksi kemungkinan anggota
keluarga peserta mengalami diabetes berdasarkan pengukuran diagnostik.
Untuk mencapai tujuan ini, tim medis bekerja sama dengan sebuah tim data scientist untuk
mengumpulkan data dari pusat kesehatan. Data yang dikumpulkan meliputi informasi tentang
jumlah kehamilan, konsentrasi glukosa plasma, tekanan darah diastolik, ketebalan lipatan kulit
trisep, insulin serum 2 jam, indeks massa tubuh (BMI), fungsi warisan diabetes, dan usia.
Setelah data dikumpulkan, tim data scientist menggunakan dataset untuk melatih model
machine learning mereka. Model ini nantinya akan diuji coba pada data pasien pusat kesehatan.
Anda adalah data scientist pemula yang direkrut untuk membantu tim dalam mengembangkan
model machine learning tersebut.
Instruksi dari pimpinan tim data scientist yang Anda terima adalah sebagai berikut:

Sebagai pimpinan tim data scientist, berikut adalah instruksi yang dapat saya berikan kepada
anggota baru untuk membuat model machine learning menggunakan algoritme Decision Tree
dan k-Nearest Neighbors:
1. Pahami dataset: Sebelum memulai pembuatan model, pastikan Anda memahami
dataset yang akan digunakan. Periksa apakah terdapat missing value.
2. Tentukan fitur dan target: Sebagai awalan, kita akan menggunakan semua fitur yang
sudah ditentukan oleh tim dokter. Tentukan fitur dan target yang akan digunakan untuk
melatih model. Untuk nilai parameter random_state pada pemisahan dataset
sesuaikan dengan dua digit terakhir nomor pegawai Anda (red: dua digit terakhir NPM).
3. Buat model Decision Tree: Gunakan library scikit-learn untuk membuat model Decision
Tree. Anda diperbolehkan untuk menyesuaikan parameter seperti max_depth agar

15
model dapat bekerja dengan baik pada dataset. Untuk nilai parameter random_state
sesuaikan dengan dua digit terakhir nomor pegawai Anda (red: dua digit terakhir NPM).
4. Buat model k-Nearest Neighbors: Gunakan library scikit-learn untuk membuat model
k-Nearest Neighbors. Anda diperbolehkan untuk menyesuaikan parameter seperti
n_neighbors dan weights agar model dapat bekerja dengan baik pada dataset.
5. Evaluasi model: Setelah membuat kedua model, lakukan evaluasi untuk mengetahui
performa masing-masing model. Sebagai awalan, Anda dapat menggunakan metrik
akurasi dengan fungsi score untuk mengevaluasi performa model.
Semoga instruksi ini dapat membantu anggota baru dalam membuat model machine learning
menggunakan algoritme Decision Tree dan k-Nearest Neighbors. Jika ada pertanyaan atau
kesulitan, jangan ragu untuk menghubungi saya atau anggota tim lainnya.
NB:

• Anda boleh menggunakan skeleton code yang sudah disediakan senior Anda untuk
mengerjakan tugas ini.
• Dataset yang tersedia dalam bentuk CSV. Silahkan menyesuaikan cara load data ke
dalam notebook. Link dataset: https://www.kaggle.com/datasets/mathchi/diabetes-
data-set

16

Anda mungkin juga menyukai